Отменить фиксацию Git после нажатия с помощью обратного патча?

100

Я нажал на фиксацию и хочу отменить изменения, внесенные этой фиксацией, применив и зафиксировав обратный патч. Как мне это сделать?

Дзиамид
источник

Ответы:

50

Похоже, вы хотите использовать git-revert.

https://www.kernel.org/pub/software/scm/git/docs/git-revert.html

Крис К.
источник
1
Это не лучший вариант, если вы используете PR-поток; в таких случаях вы захотите сделать новый коммит, который вернет изменения из одного коммита в прежнее состояние.
b01
142

Использовать

git revert HEAD

Это создаст патч, который отменяет последнюю фиксацию и фиксирует этот патч как новую фиксацию.

Если вы хотите вернуть определенную более раннюю версию, используйте

git revert <revision>

см. также: http://schacon.github.com/git/git-revert.html

пилиф
источник
4

просто используйте

для зафиксированного файла:

git revert <SHA1 ID>

для незафиксированного файла:

git reset --hard HEAD
Амит
источник