Найти в Дзене
letsCode

Git unmerge (+ git revert) - отмена слияния, откат изменений

Для отмены слияния веток в 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