Я пытаюсь реализовать рабочий процесс типа «git-flow» с использованием Gerrit, но, похоже, не могу понять последнюю часть головоломки.
У моей проблемы есть два предварительных условия:
- Геррит будет выполнять слияние только с одной веткой
- Я не разрешаю передавать коммиты слияния на Геррит.Объединение должно быть выполнено Герритом после утверждения изменений
Я хочу решить следующее.Рассмотрим ситуацию с git:
Master 0
\
\
Develop 0-----0-----0-----0
Существует ветка master с одним коммитом и ветвь разработки, которая разветвляется от master с несколькими дополнительными коммитами.Через некоторое время ветвь разработки снова объединяется с master для создания следующего производственного выпуска.Разработчики работают с ветками тем от разработки и со строгим перебазированием.Их коммиты всегда перебазируются поверх последних разработок перед тем, как их выдвигать.Это должно привести к линейной истории и только к ускоренной фиксации.
Теперь предположим, что кто-то создает ветку исправлений из мастера и сливается обратно с мастером:
Master 0--------0 HF
\
\
Develop 0-----0-----0-----0
Этот коммит теперь только объединяетсяосновная ветвь, но разработчики нуждаются в этом коммите в своей ветке разработки, чтобы включить исправление в свои изменения.Обычно вы объединяете главную ветвь для разработки ветки разработки, но, учитывая мои предварительные условия, это невозможно, так как это создаст локальный коммит слияния.
Мой вопрос: как мне включить новые коммиты из основной веткив локальную ветку разработки, чтобы любые новые изменения от разработчиков содержали исправление?В идеале я бы изменил свой сценарий, чтобы сначала применить изменения исправлений к локальной ветви разработки (слияние, но без фиксации слияния), а затем перебазировать коммиты dev и нажать.Таким образом, исправление будет автоматически добавлено к их новым изменениям и будет рассматриваться как таковое, как часть их новых коммитов, а не отдельного коммита.
Я думал о возможных решениях:
Надеюсь, мой вопрос ясен.Пожалуйста, дайте мне знать, если это требует дальнейших разъяснений.Я знаю, что я довольно жестко отношусь к своему рабочему процессу, но это было бы идеально в сочетании с Герритом.Если это невозможно, я, вероятно, разрешу коммиты слияния ...