Цикл GitHub Flow в Git
GitHub Flow - договор команды
о том, как вести главную ветку
и как доводить задачу до слияния.
Ту же идею часто называют
feature branch workflow:
каждая задача живет в своей ветке,
а main остается опорной линией
для всех.
Цикл начинается с актуальной main.
От нее отводим ветку под одну задачу,
переключаемся на нее и делаем коммиты
только там. Когда изменения готовы
к обсуждению, отправим ветку
на удаленный репозиторий командой push.
Следующий шаг цикла - pull request:
мы показываем команде diff относительно main
и просим влить готовую работу.
Пока запрос открыт, main
не трогаем напрямую;
правки задачи по-прежнему копятся
в ветке задачи.
После согласования содержимое ветки
вливают в main. Главная ветка
принимает только законченный фрагмент,
и ее состояние снова считается
рабочим для всей команды.
Имя ветки задачи после слияния
больше не нужно: его убирают
локально и на remote, чтобы список
веток не превращался в архив.
Такой круг повторяется для каждой
новой задачи: снова опираемся
на main, снова отводим
отдельную ветку и снова доводим
работу до слияния, не копя
незаконченное в главной линии.