Is there any way to undo the effects of "git revert head"?

GitUndoRevert

Git Problem Overview


I've accidentally run the command against the wrong branch in my repository - is there a way to undo this change?

Git Solutions


Solution 1 - Git

git revert just creates a new commit -- you can "remove" it with git reset --hard HEAD^ (be more careful with it, though!)

Solution 2 - Git

The command git revert just creates a commit that undoes another. You should be able to run git revert HEAD again and it'll undo your previous undo and add another commit for that. Or you could do git reset --hard HEAD~. But be careful with that last one as it erases data.

HEAD~ means the commit before the current HEAD

Solution 3 - Git

How about reverting the revert?

View git log and get the hash tag of the bad revert:

git log -5

Then do reverse the revert itself:

git revert

Solution 4 - Git

If you were prescient enough to have done this: revert --no-commit master, you can abort that with: git revert --abort per the git status advice:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
You are currently reverting commit dcc7c46.
  (all conflicts fixed: run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionblueberryfieldsView Question on Stackoverflow
Solution 1 - GitRoman CheplyakaView Answer on Stackoverflow
Solution 2 - GitjonescbView Answer on Stackoverflow
Solution 3 - GitLasmaView Answer on Stackoverflow
Solution 4 - GitericPView Answer on Stackoverflow