Карта схем работы в Git
Ниже - ориентиры, а не инструкции. Сравнивайте схемы по договору: откуда ветка, куда вливают, сколько она живет и кто пишет в главную.
Общая ветка: один удаленный репозиторий,
все коммитят в main. Ветка задачи
не обязательна. Подходит, когда мало людей
и мало параллельных задач.
GitHub Flow: главная ветка всегда
в рабочем состоянии, каждая задача -
отдельная ветка от main,
слияние через запрос на слияние.
Долгоживущих веток почти нет.
Trunk-based: короткие ветки или работа
прямо у ствола, частые маленькие коммиты
в главную. Акцент на скорости
и на том, что main почти всегда
готова к выкладке.
Ветки окружений: параллельные линии под серверы (например, test и production). Изменения двигаются по цепочке слияний, а не только в одну главную ветку.
Ветки версий: долгие ветки под релизы, исправления переносят между версиями. Главная ветка живет своей жизнью, старые линии еще долго поддерживают.
Git Flow: фиксированные роли веток (разработка, релиз, hotfix). Строгий ритм, больше формальности, чем у схем с одной главной веткой.
Форк: у каждого свой клон репозитория на сервере, изменения идут из чужого форка в основной проект через запрос на слияние. Типично для открытого кода и большого числа сторонних участников.
Диктатор и помощники: в main
вливает один человек, остальные
готовят ветки и передают ему.
Правила простые, узкое горло
на слиянии.
Одна и та же команда со временем может сменить схему. Git от этого не ломается: меняется только договор, по которому вы читаете историю коммитов.