Моя компания использует Git и использует особую схему ветвления - работа выполняется в master, а ветки зарезервированы для выпусков. Это прекрасно работает, пока вся работа, выполненная в итерации, превращается в ветвь, но если возникает критическая производственная проблема, мы должны гарантировать, что работа каким-то образом попадет в обе ветви.
В последнее время мы развлекались с этими ветками. Это была административная головная боль, гарантирующая, что вся работа превращается в каждую ветку, а некоторые ошибки, которые были исправлены в одной ветке, не превращаются в master, пока кто-то не укажет на это, что касается.
Некоторое время назад я наткнулся на Git Flow , и я чувствую, что это будет решением нашей проблемы - кода, не пронизывающего весь путь до релиза, или весь путь назад. Единственный улов в том, что мое руководство заявило, что подобное развитие событий было анти-паттерном - яростно развивалось в течение двух недель, а затем потратило три на разрешение конфликтов слияния.
Я не совсем уверен, что согласен, и с тех пор, как я это поднял, работа возобновилась как обычно. Только недавно у нас были некоторые основные болевые точки с этим.
Я хотел бы знать - почему такая схема развития должна рассматриваться как анти-паттерн? Это действительно анти-шаблон?
Ответы:
Он в основном имеет в виду особенности ветвей модели. Ветви компонентов были объявлены анти-паттерном давным-давно, когда ветки длились месяцами, и системы контроля версий не могли объединиться, чтобы спасти их жизнь. В ветвях компонентов, которые длятся неделю или две, проблем гораздо меньше, особенно если вы постоянно объединяетесь с
develop
ветвью компонентов в течение этого времени. Что-нибудь намного дольше чем это все еще не рекомендуется.Даже если вы не используете сторону ветвления git flow, другие части полезны для обеспечения чистых слияний и распространения ваших изменений в правильном направлении.
источник
Слияние - забавная вещь: чем реже это делается, тем сложнее, чем сложнее, тем больше люди будут бояться этого, тем реже они будут это делать.
Решение - либо не допускать слишком больших отклонений ветвей, либо не использовать ветки.
Если люди это понимают, у вас, вероятно, не будет особых проблем со слиянием, если нет - возможно, филиалы не будут хорошей идеей без некоторого образования.
источник