Для отмены слияния веток в git (git merge) есть два решения:
- удаление коммита слияния (unmerge, merge undo, merge delete)
- отмена изменений слияния (revert)
Первый случай поможет, если вы еще не сделали новых коммитов, после слияния веток, и не отправили изменения в ваш центральный репозиторий (например в GitHub или Bitbucket). Для удаления коммита слияния нужно перейти на ветку, в которую вы влили другую ветку. Например так:
git checkout master
и выполнить операцию отката ветки:
git reset --hard HEAD^
Для отмены изменений слияния можно выполнить либо
git revert _some_hash_
где _some_hash_ - это хэш коммита, который вы хотите отменить (это отменяет изменения конкретного коммита). Либо
git revert -m 1 _some_hash_
где _some_hash_ - это хэш коммита слияния (коммит созданный командой git merge), который вы хотите отменить. Этот вариант отменяет все изменения, сделанные командой git merge, и восстанавливает состояние ветки (в которую происходило вливание) до мерджа
Git reset:
https://www.youtube.com/watch?v=GsPsjYO16ls&t=3s
Ссылка на канал:
https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ
Ссылка на плейлист:
https://www.youtube.com/watch?v=d6RFFNCAd9w&list=PLU2ftbIeotGr_C-6t_lXH1Z3VgS5TLLdb