2014-01-27 4 views
1

У меня есть тестовый репозиторий со следующей историей:Git сквош совершает с интерактивным перебазироваться со слиянием коммитов между

совершить eb4a4d52a8fe6abdebb93c7747beac2d511003af (HEAD, мастер) Merge: 22f849c 94e27d1 Автор: Ваше Дата Имя: Пн янв 27 00:51:42 2014 +0100

Merge branch 'cheryr' 

Conflicts: 
    FILE 

совершить 22f849c403b6cdf43280e66e937931bf9d0ab25a Автор: Ваше имя Дата: Вс янв 26 21:01:35 2014 +0100

4 

toto 

совершить 94e27d1c78833784619e25eeb8e0186f154f2282 (cheryr) Автор: Ваше Имя Дата: Пн Янв 27 00:48:12 2014 +0100

toto 

совершить 2368d78ba95811e9eb9897487cccb7b7f6927910 Автор: Ваше имя Дата: Вс Янв 26 22: 31:51 2014 +0100

10 

совершить b1f0f8a1a1951e661a7e833314fc483085516b0c (TMP) Автор: Дата вашего Имя: вс 26 января 22:19:56 2014 +0100

9 

совершить 3a8f2e17e721821ae8ebd1e272437c8632224b9a Автор: Ваше имя Дата: Вс Янв 26 22:18:23 2014 +0100

8 

совершить 28d4a62d4d21c3e8155553e1216bfa981afe7212 Автор: Ваше имя Дата: Вс Янв 26 22 : 15: 42 2014 +0100

7 

это possibe к squash несколько первых коммитов в один, вместе с фиксацией слияния? Невозможно просто передать HEAD ~ 4 в git rebase -i, потому что он берет 4 фиксации от первого родителя слияния.

ответ

1

git rebase -i HEAD~4 будет работать нормально, также если это далекое соглашение или вы не знаете, насколько это далеко, возьмите хэш родителя первого коммита, который вы хотите отредактировать, или для меня я беру хэш и присоединять ^ за высказывание родителю

git rebase -i hash^ 

Я думаю, что ~ будет работать слишком

git rebase -i hash~ 

Затем вы можете установить первый совершить, как выбрать p или перефразировать, если вы хотите изменить это сообщение r и т он остается 3 в качестве исправления f, поэтому он не перестает просить вас о новом сообщении о фиксации, он будет останавливаться посередине для любых конфликтов, также ожидайте, что вам придется повторно разрешать любые конфликты, если вы пройдете по фиксации, создал один.

0

попробовать: мерзавца перебазироваться -i HEAD^2 ~ 3

'^' знак используется для выбора 1 из родителей (в данном случае^2 означает выбрать второй родитель, а затем ~ 3 означает «идти 3 завершает назад ')

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