2015-09-25 3 views
1

git flow model работает очень хорошо для множества небольших ветвей развития. Тем не менее, он начинает слегка ломаться, когда есть несколько ветвей, которые являются очень длинными функциями. Например, предположим, что 2 функции (feature_branch_a и feature_branch_b) занимают 3 инженерных месяца, и вы хотите поддерживать их в синхронизации с веткой development/master, а также между собой.Как управлять несколькими длинными функциональными ветвями в Git?

Вы можете объединить развитие/мастер в свои филиалы функций каждый день. но что является хорошей практикой для хранения feature_branch_a и feature_branch_b в синхронизации друг с другом? так что когда вы объединяете feature_branch_a обратно в develop/master, чтобы он не висел над feature_branch_b массово с точки зрения конфликтов слияния?

ответ

1

В зависимости от того, сколько противоречивых работ существует между характеристиками A и B, что можно просто свести B в A и A в B периодически?

+0

что делать, если это идет в ветви 'A, B, C, D, E, F, G'? то у нас было бы очень много конфликтов везде очень быстро:/ –

1

Вы создали ветки функций feature_branch_a и feature_branch_b из ветви разработки/мастера.

На самом деле это хорошая практика для хранения ветвей разработки/master, а также feature_branch_a и feature_branch_b в синхронизации друг с другом. Вместо того, чтобы иметь много конфликтов слияния в конце 3 инженерных месяцев.

При повторном объединении функции feature_branch_a назад, чтобы развить/освоить, а затем обновить другую соответствующую ветку feature_branch_b от разработки/мастера. И разрешать конфликты, если таковые имеются, эти конфликты будут значительно меньше и легче разрешаться, чем конфликты в конце трех инженерных месяцев. После разрешения конфликтов обновите удаленную ветвь разработки/мастера, а затем также слейте develop/master в feature_branch_a. Таким образом, все три ветви соответствуют дате и на одной странице.

Периодическая синхронизация с ветвью разработки/мастера, а также с другими ветвями функций спасет жизнь, так как количество ветвей признаков увеличивается.

+0

, но что, если невозможно периодически синхронизировать 'feature_branch_a' с разработкой/мастером? потому что весь смысл иметь эту длинную ветку, чтобы избежать помещать код где-нибудь, что могло бы получить обратное проектирование –

Смежные вопросы