Git, вопросы для самоконтроля

Создание и настройка репозитория

  • Как создать локальный репозиторий в папке с проектом?
  • Как начать совместную разработку в этом репозитории?

Игнорирование файлов

  • Как игнорировать файлы, которые будут генерироваться у каждого участника проекта (логи, файлы редактора, файлы сборки)?
  • Как игнорировать ваши личные файлы: заметки, черновики, бэкапы?

Конфигурация

  • Как изменить локальные/глобальные/системные настройки Git (емейл пользователя, редактор для сообщений и пр.)?
  • Как настроить SSH для работы с Github/GitLab?
  • Как сделать вывод в консоль цветным?
  • Как настроить алиасы для часто используемых команд?

Работа с удаленными репозиториями

  • Что такое удаленный репозиторий (remote)? Для чего он нужен?
  • Как посмотреть список удаленных репозиториев?
  • Как добавить remote в ваш локальный проект? Как его удалить?

Состояние

  • Что такое HEAD?
  • Что такое detached HEAD?
  • Что такое Staging Area? Для чего она нужна?
  • Tracked/Untracked files — что это за файлы?

Ветвление

  • Что такое ветка и для чего используются ветки в Git?
  • Как создать ветку?
  • Как удалить ветку?
  • Как отправить ветку в определенный remote?
  • Чем отличается ветка от комита?

Добавление изменений в репозиторий

  • Как добавить новый файл в репозиторий?
  • Как убрать добавленные в staging area изменения?
  • Как отправить изменения в определенный remote?

Удаление

  • Как удалить untracked files из репозитория?
  • Вы случайно закомитили не тот файл, пуш не делали. Как исправить?

Flow (Github flow)

  • Что такое пул-реквест?
  • Зачем нужно делать код-ревью?
  • Когда нужно мержить ветку dev в ветку master?