Git: подход к частичному слиянию для основных изменений версии?

Мы работаем над серьезной переработкой нашего веб-сайта. Вся работа над обновленным сайтом выполняется в ветке git (назовите ее 2.0), которая некоторое время назад была отделена от мастера. Попутно были внесены некоторые изменения, как незначительные, так и значительные, и мы хотели бы объединить их в версии 2.0.

Однако делать это как одно большое слияние кажется громоздким - хотя некоторые изменения будут хорошо слиты, некоторые из них связаны с кодом, которого больше нет в версии 2.0, и, по сути, потребуют повторной реализации новых функций в версии 2.0. Пока после слияния остается куча неразрешенных конфликтов, исправить эти функции может быть довольно сложно.Мы рассмотрели возможность использования cherry-pick, чтобы перенести из мастера только те изменения, которые будут хорошо объединяться, при этом вручную повторно внедряя основные изменения, но я могу вызвать проблемы, если мы когда-нибудь захотим объединить все изменения в 2.0 обратно в мастер.

В идеале я мог бы выполнить частичное слияние от мастера до версии 2.0 - слить группу второстепенных коммитов до определенного коммита, затем слить одну основную фиксацию и вручную повторно реализовать определенную новую функцию, а затем еще одну серию, таким образом способ, которым в конце концов мастер полностью сливается с 2.0. Это хороший подход в данной ситуации? Если да, как мне частично слиться с мастером, а не полностью до самого последнего основного коммита? Или есть какой-то другой, лучший подход, который мне следует выбрать?

5
задан Karptonite 28 December 2011 в 18:04
поделиться