Должен ли я объединить мастер с общей стабильной веткой интеграции перед ребазингом? - PullRequest
0 голосов
/ 13 февраля 2019

Кажется, наша команда снова и снова сталкивается с этой проблемой.Когда мы запускаем проект, мы создаем ветку интеграции из master и называем ее stable.Теперь каждый отдельный разработчик разветвляется от stable, и, как только он это делает, он создает запрос на извлечение к stable и выполняет сквош и слияние перед его закрытием.

Проблема возникает, когда мы хотим merge stable вернуться к master.Мы обычно rebase на вершине master, но это приводит ко многим конфликтам, так как в течение 2 месяцев master имеет гораздо больше коммитов, чем когда мы разветвлялись.

Я читаю некоторые сообщения вроде - Рабочие процессы Git: перебазирование опубликованных / общих веток , и некоторые из них, похоже, время от времени выступают за слияние master с stable перед выполнением финала rebase из stable поверх master во время создания запроса на получение, а затем был один Каков правильный рабочий процесс git с общими ветвями функций? , который сказал, что обратное слияние от master до stable это плохая идея.

У меня вопрос - время от времени сливаются master в stable, идеальное решение здесь, чтобы предотвратить адский конфликт rebase, который мы переживаем каждый раз, или есть какие-то лучшие решения изтам?Если это уже ответили, пожалуйста, дайте мне знать.

Мы не можем * от 1033 * stable до master раньше, потому что master требует самого последнего и самого лучшего функционального готового кода сквозной работы.

1 Ответ

0 голосов
/ 13 февраля 2019

Является ли слияние мастера со стабильным время от времени идеальным решением для предотвращения ада конфликта перебазировки, через который мы проходим каждый раз, или есть какие-нибудь более лучшие решения?

В вашем конкретном рабочем процессе, когда мастер активно изменяется, в то время как стабильный обновляется ... да, даже если это не лучшая практика.

В идеале, мастер должен не развиваться, пока вашВетвь интеграции (стабильная) обновлена.
Пример такого рабочего процесса: gitworkflow , который использует «следующую» ветвь в качестве интеграции, но затем сам повторно объединяет ветвь функций непосредственно в master (который не имеетсильно изменилось с момента последнего релиза)

...