Перейти к основному содержимому

GIT

Быстрый переход к обучению

  1. Git для командной разработки — учебный модуль
  2. Все учебные модули

Что нужно знать

  1. Базовый workflow: status, add, commit, diff, log.
  2. Работа с ветками: branch, checkout/switch, merge, rebase.
  3. Безопасные откаты: revert vs reset и когда что использовать.
  4. Совместная разработка: pull request, code review, protected branches.
  5. Конфликты и стратегия их разрешения.

Что уметь объяснить на собеседовании

  1. Разница merge и rebase в реальной команде.
  2. Почему revert чаще безопаснее для shared-веток.
  3. Как действовать при конфликте в hotfix-сценарии.
  4. Как поддерживать чистую историю без потери контекста.

Грейд-фокус

  1. Junior: уверенная работа с локальными изменениями, ветками и pull request.
  2. Middle: clean history, безопасные релизы, разрешение конфликтов без потери контекста.
  3. Senior: branch strategy команды, release governance, процессы quality gates.

Глубокие кейсы собеседования

  1. Сломали shared-ветку force-push: сильный ответ: зафиксировать инцидент, восстановить референсы, ретроспектива процесса, защита branch rules.

  2. Длинная feature-ветка конфликтует со всем: сильный ответ: дробить на маленькие PR, регулярная синхронизация с main/dev, feature-flags.

  3. Ошибочный релиз уже в production: сильный ответ: быстрый revert, проверка smoke, postmortem с действиями по предотвращению повторения.

Практический минимум

  1. Смоделировать конфликт в локальном репозитории и решить его.
  2. Сделать feature-ветку, 3 коммита, аккуратный merge в dev.
  3. Выполнить безопасный откат через revert.
  4. Подготовить короткий PR-шаблон для команды.

Типовые ловушки

  1. Использовать reset --hard в общей ветке.
  2. Путать рабочее дерево, staged и commit history.
  3. Игнорировать последствия rebase после публикации ветки.
  4. Делать большие PR без внятного контекста ревьюерам.

Self-review перед собеседованием

  1. Я могу объяснить разницу merge/rebase на реальном workflow.
  2. Я понимаю, когда нужен revert, а когда допустим reset.
  3. Я умею решать конфликт осознанно, а не механически.
  4. Я могу описать безопасный процесс релиза и отката.

Связанные материалы

  1. Junior трек
  2. Senior трек
  3. Playbook ответов

Архивный монолит

Полный старый материал: GIT (архив)