Выбор схемы работы в Git
Схема - это договор, а не настройка Git. Ниже короткие ориентиры: с чего начать разговор в команде, не перечисляя все детали каждого урока.
Мало людей и мало параллельной работы -
общая ветка: все пишут в main,
отдельная ветка на каждую мелочь
не обязательна.
Веб-продукт регулярно выкладывают
из main - GitHub Flow:
задача в своей ветке,
слияние через pull request,
главная всегда в рабочем состоянии.
Много крошечных изменений в день и есть автоматические проверки - trunk-based: короткие ветки или коммиты прямо у ствола; при желании договор дополняют скоростями Ship, Show и Ask.
Несколько стадий выкладки (test, staging, production) - ветки окружений: изменения идут цепочкой слияний к боевой линии.
Несколько поддерживаемых версий продукта - ветки версий: долгие линии под релизы и перенос исправлений между ними.
Нет права отправлять в чужой исходный репозиторий - форк: своя копия на сервере, pull request в проект хозяев.
Огромный проект с хозяевами частей - диктатор и помощники: один blessed и сбор веток через помощников зон.
Две долгие линии плюс отдельные
release и hotfix -
Git Flow:
жесткие роли веток
и формальный ритм релиза.