Для отмены слияния веток в git (git merge) есть два решения:
- удаление коммита слияния (unmerge, merge undo, merge delete)
- отмена изменений слияния (revert)
Первый случай поможет, если вы еще не сделали новых коммитов, после слияния веток, и не отправили изменения в ваш центральный репозиторий (например в GitHub или Bitbucket). Для удаления коммита слияния нужно перейти на ветку, в которую вы влили другую ветку. Например так:
git checkout master
и выполнить операцию отката ветки:
git reset --hard HEAD^
Для отмены изменений слияния можно выполнить либо
git revert _some_hash_
где _som
...e_hash_ - это хэш коммита, который вы хотите отменить (это отменяет изменения конкретного коммита). Либо
git revert -m 1 _some_hash_
где _some_hash_ - это хэш коммита слияния (коммит созданный командой git merge), который вы хотите отменить. Этот вариант отменяет все изменения, сделанные командой git merge, и восстанавливает состояние ветки (в которую происхоShow more