Я пытаюсь отменить ошибочное слияние, но изменения от обеих команд выглядят неправильно.
Вот как я сделал коммит слияния:
# merge master into branch:
git checkout branch
git merge master
# resolve conflicts
git commit
git push
Теперь яхочу отменить это слияние с помощью:
git log b2e
commit b2e...
Merge: de9... cf4...
git revert -m 1 -n b2e
Проблема в том, что git status
показывает, что это только отменит разрешенные мной конфликты, а не все слияние.Команда git revert -m 2 -n b2e
отменяет изменения, внесенные в ветку перед слиянием, чего я тоже не хочу.
Второй вопрос: как показать, что было изменено в коммите слияния?
git show b2e # only shows the conflicts I resolved
git diff b2e de9 # does the same
git diff b2e cf4 # shows what is different between the branch and master
Обновление: коммит de9
был верным, и git diff b2e de9 показывает, что было зафиксировано.Одна из причин, по которой я был сбит с толку, заключалась в том, что конфликт удаления / сохранения не отображался в diff, поэтому я подумал, что были изменения, которые git не показывал мне.изменение до cf4
, фиксация от master
, смутило меня еще больше, потому что я не совсем понимал, что происходит.Нет необходимости отвечать на этот вопрос.