foundation

Ветка

Используйте ветки как подвижные имена над коммитами для изолированной работы, review, релиза и экспериментов.

Ветка — подвижная ссылка (указатель) на коммит, а не копия файлов. Создание `feature/login` — одно обновление ref; граф коммитов общий.

					git switch -c feature/login
git branch -vv          # локальные ветки + upstream tracking
git fetch origin        # только remote-tracking refs
				

Ветки дают параллельную работу, но цена интеграции растёт с расхождением. Remote-tracking ветки (`origin/main`) отражают состояние на последнем fetch — не обязательно то, что коллеги только что запушили.

На интервью: указатели веток, remote-tracking refs, политика mainline и почему короткоживущие ветки снижают риск интеграции.

Типовые ошибки: долгоживущие ветки со скрытыми конфликтами и дрейфом дизайна; локальный `main` «как на сервере» без fetch; соглашения об именах вместо мелких изменений и CI.

Компромисс — изоляция (feature branches) против частой интеграции (trunk-based); политика под cadence релизов и зрелость тестов.

Чеклист:

  • Ветки — refs на коммиты, не копии файлов.
  • Fetch перед суждениями о shared state.
  • Частая интеграция для активной работы.
  • Default branch защищён и deployable.