Git удалить коммит из слияния - PullRequest
2 голосов
/ 22 марта 2011

У меня следующая проблема ...

Я пытался объединить удаленную ветку с моей локальной, а затем отправить изменения в репозиторий ... Хорошо, я выбрал удаленную ветку, в которой было три коммита, но один из них не закончен, поэтому я не хочу помещать один из этих коммитов в репозиторий ... когда я запускаю git log, он показывает мне это: commit: A1 merge: M1 merge remote branch "remote/branch"</p> <p>commit: A2 commit: A3 commit: A4

И я хочу удалитьсовершить A2 ... как я могу это сделать?Я искал, и некоторые люди говорят, что нужно использовать git rebase или git reset, но я не уверен, какой из них мне следует использовать ... на всякий случай, я не выдвинул эти изменения

Спасибо за помощь

1 Ответ

10 голосов
/ 22 марта 2011

Если вы еще не выдвинули свой коммит слияния (это означает, что A2 еще не был выдвинут), вы можете перебазировать в интерактивном режиме:

git rebase -i HEAD~3

Теперь удалите строку фиксации слияния. Затем измените порядок коммитов так, чтобы А2 был последним. Как только это будет завершено, филиал:

git branch incompleteFeature

Затем сбросьте мастер до предыдущего коммита:

git reset --hard HEAD^

Теперь вы можете синхронизироваться должным образом, и незавершенная функция будет находиться в отдельной ветке, пока вы не решите объединить ее позже, когда она будет готова.

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...