2015-03-17 2 views
1

Я бы немного почистил свою (беспорядочную) ветвь функции до открытия запроса на извлечение оригинального репо. У меня около 100 коммитов, которые я хочу объединить в 3 или 4. Все коммиты уже перенесены на мое собственное дистанционное репо. Поскольку я хочу сохранить много коммитов в своем собственном репо, я создал новую ветку в точке, где я разветвил исходное репо. Предполагается, что эта ветвь содержит точную копию моей работы, но с меньшим количеством коммитов.Восстановление цепи нелинейных коммитов с помощью git

К сожалению, слияние моего текущего HEAD в новую ветку и применение rebase -i не удается выполнить слияние (x) и сообщает мне, что он не может применить исправление. Предположим, что моя история выглядит следующим образом:

o--o--o--o--o--o-----x 
       \  \ 
       o--o--o--o--o 

Любые идеи о том, как я могу пройти мимо этой фиксации?

+0

Обычно считается хорошей практикой иметь много мелких коммитов вместо большой кодовой бомбы. Скриптинг 100 совершает 3 или 4 звуков, немного сомнительных для меня. Особенно, если вы хотите их сохранить; они, похоже, имеют определенную ценность. – musiKk

ответ

1

Это должно работать с git rebase -i -p commit, но за счет повторной фиксации слияния (то есть повторной фиксации конфликтов слияния).

С помощью:

-p, --preserve-merges try to recreate merges instead of ignoring them 

Однако в вашем случае, просто фиксируя слияния конфликта и продолжая перебазироваться может реально работать.

+0

Спасибо, я попробую. Во всяком случае, конфликт слияния был тривиальным. – fewu

+1

@fewu Да, если вы обойдетесь, попробуйте мой добавленный абзац, который также может работать. – martin

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