2013-10-04 15 views
7

Я сделал слияние долгоживущей ветви, и мне потребовалось время, чтобы завершить слияние из-за разрешения конфликтов.Перепишите слияние слиянием в сражение слиянием

Я узнал, что не могу опубликовать свою работу с git-svn: git svn rebase будет пересобирать все коммиты объединенной ветви вместо того, чтобы отправлять одно единственное объединение. Я обнаружил git merge --squash немного позже ...

Можно ли сменить (переадресуйте?) Комманду слияния в коммит «squash merge», не потеряв уже выполненную работу по разрешению конфликтов (т. Е. Без запуска нового слияния как я не включил инструмент rerere)?

+1

Я попытался бы разбить временную ветвь от первого родителя вашего слияния, а затем «git cherry-pick -m 1 » на него наложить слияние. Если все будет выглядеть нормально, просто верните исходную ветку в результат. – kostix

+0

Для получения дополнительной информации о '-m 1' в предлагаемом вызове' git cherry-pick' см. [This] (http://stackoverflow.com/a/9229393/720999). – kostix

+0

Возможный дубликат [Что именно делает git's rebase -preserve-merges? Do (и почему?)] (Http://stackoverflow.com/questions/15915430/what-exactly-does-gits-rebase-preserve-merges -do-и-почему) –

ответ

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