2014-03-06 2 views
0

У нас есть одно репо для приложения, которое имеет несколько модулей/суб-приложений (не git subodules), написанное несколькими людьми. Каждый из них разделен на подпапок:Разделение слияния для разных людей для обработки

/topFolderInGit 
--/module1SubDir 
--/module2SubDir 
... 

Мы имеем две ветви в активной разработке, один в производственных получении исправлений/обновлений, а другой, который содержит некоторые перезаписи/больше возможностей, в соответствии с типичным master и develop модели ветвления.

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

splitting a merge in git похоже близко возможно, но ответ не достаточно конкретный.

Возможно ли выборочно объединять (или разделять слияние), чтобы люди не могли разрешать конфликты в одном групповом коммит? То есть я хочу оставить файлы, которые не объединены в их состоянии предварительного слияния, так что кто-то может их взять позже, что исключает этот ответ: https://stackoverflow.com/a/12473774/3879

ответ

0

Я не думаю, что вы можете сделай это. Это похоже на то, как работает git. Git отслеживает все снимки проекта, а слияния - это атомарные вещи между этими моментальными снимками. Вы можете отменить все и сделать новую фиксацию, но тогда вы будете говорить о будущих трехсторонних слияниях, чтобы продолжать пропустить эти вещи.

Почему вы сливаетесь с master по номеру develop, что особенно часто используется для использования термина «последовательно»? Если кто-то никогда не менял часть кода, почему бы не сделать эту часть кода просто быстрой перемоткой в ​​своем репо? Не должно быть возможности конфликта, если старая история не будет перезаписана.

Если вы разрешаете буквально одни и те же конфликты снова и снова, прочитайте rerere.