Я поддерживаю большой репозиторий git с 50 000 файлами. Отделение развития магистральной сети называется «развиваться». У меня есть филиал под названием «функция», который работал почти независимо в течение 5 месяцев. Невозможно слиться с «развиваться» из-за сложности работы, которая, но теперь она почти завершена, она хочет пересинхронизировать с «развитием».Как разбить большое слияние с конфликтами на более управляемые куски?
Как правило, это означает, что совершение объединения происходит из «источника/развития» в «функцию», фиксируя конфликты, проверяя, совершая и толкая. но в этой точке слияния очень много конфликтов. Я посчитал ~ 4000 сложенных изменений и ~ 450 несмешанных изменений. Некоторые из этих конфликтов достаточно тривиальны (например, файлы .gitignore и т. Д.), Но многие из них являются существенными перезаписываниями и трудно разрешены.
Кроме того, эти конфликты пересекаются в разных областях программного обеспечения. Разработчики из каждого домена должны будут разрешать конфликты в своих областях. Потребуется несколько дней хотя бы согласованных усилий по устранению конфликтов и их совершению.
Есть ли способ, которым я могу это сломать, поэтому владельцы домена могут объединять свои собственные конфликты параллельно, сохраняя точку слияния фиксации? Есть ли такая вещь, как частичное объединение слияния, где я беру на себя объединенные вещи, а не без сил?
Моя основная мысль заключается в том, что «функция» может сливаться с некоторыми промежуточными тегами внутри «разработки», например. у нас есть метки выпуска «a», «b», «c», «d» в течение последних 5 месяцев. Поэтому, если они сливаются до «a», а затем «b» и т. Д., Каждое слияние будет менее сложным, однако может быть больше конфликтов по всем.
Есть ли другие вещи, которые я мог бы попробовать?
Это больше нацелено на слияние одного человека, но ['git imerge'] (https://github.com/mhagger/git-imerge) должно многое помочь в подобном случае. – torek