Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Revert to a commit by a SHA hash in Git? [duplicate]

Tags:

git

I'm not clear on how git revert works. For example, I want to revert to a commit six commits behind the head, reverting all the changes in the intermediary commits in between.

Say its SHA hash is 56e05fced214c44a37759efa2dfc25a65d8ae98d. Then why can't I just do something like:

git revert 56e05fced214c44a37759efa2dfc25a65d8ae98d 
like image 839
JP Silvashy Avatar asked Dec 12 '09 23:12

JP Silvashy


People also ask

How do I revert to a previous commit hash?

Just go to previous commit and then come back to latest git stash to stash any uncommited changes. git log to check the commit hash for the previous commit you are looking for.

What is SHA in git commit?

As is well-known, Git has been using SHA-1 to calculate a hash for each commit: For example, files, directories, and revisions are referred to by hash values unlike in other traditional version control systems where files or versions are referred to via sequential numbers.


1 Answers

If you want to commit on top of the current HEAD with the exact state at a different commit, undoing all the intermediate commits, then you can use reset to create the correct state of the index to make the commit.

# Reset the index and working tree to the desired tree # Ensure you have no uncommitted changes that you want to keep git reset --hard 56e05fced  # Move the branch pointer back to the previous HEAD git reset --soft "HEAD@{1}"  git commit -m "Revert to 56e05fced" 
like image 76
CB Bailey Avatar answered Sep 28 '22 04:09

CB Bailey