Обратное слияние сшитой функциональной ветки с чистой историей

у меня есть это

d0 -----
|       \
|        ------ f1  
d1              |   
|               |
|               |
d2------        f2
|       \       |
|        \      |
d3        \     |
|          --- merge
|               |
d4 ---          f3
      \         |
       \        |
        \       |
         ----- merge
                |
                |
                f4

Нет, правда. Я действительно сделал репо, как это. Обратите внимание, что мне пришлось исправить конфликт слияния между d3 и f3.

C:\dev\git-test> git tree
* 9a169c2 (HEAD, feature) f4
*   1396e5c fixed master -> feature merge conflict
|\
| * 7ececbd (MASTER) d4
| * a2be7eb d3
* | 8c11a80 f3
* |   caa9068 Merge branch 'master' into feature
|\ \
| |/
| * 576ac31 d2
| * fe78786 d1
* | 4e7ac84 f2
* | f3e13dc f1
|/
* 15a0d51 d0

Я регулярно объединяю master в feature, потому что feature является общим, поэтому периодическое перемещение feature в master было бы кошмаром. У каждого разработчика есть личная копия feature, которую они перебазируют в origin/feature. Чтобы master и feature не расходились, я регулярно вшиваю master. (Пожалуйста, дайте мне знать, если есть лучший способ. Я не мог различить разницу между 1 и 3 в этот пост.)

Теперь я хочу выполнить некоторые команды и заставить это произойти:

d0
|
d1
|
d2
|
d3
|
d4
  \
  f1`
  |
  f2`
  |
  f3`
  |
  f4` <- master

Это казалось вероятным:

git checkout feature
git rebase master

Проблема в том, что разрешение слияния для этого конфликта d3/f3 не запоминается. У меня включен rerere. Я думаю, причина этого в том, что при первом слиянии мы играем d3 на f3, а при перебазировании мы играем f3 на d3. Как вы справляетесь с этой проблемой?


person masonk    schedule 06.02.2014    source источник
comment
Не полный ответ, но я думаю, что вы можете reset освоить, а затем сделать merge --squash.   -  person Richard    schedule 07.02.2014
comment
Это намного лучше, чем что-либо еще, о чем я думал, так что спасибо! Я бы все же предпочел сохранить отдельные коммиты, если я могу сделать это без повторного слияния всего.   -  person masonk    schedule 07.02.2014