go back to a specific commit then go back to the present

Suppose your current branch is master and the old commit is a1b2c3, then you can change all the files in your working tree back to the old commit with:

git checkout a1b2c3

… and return to master with:

git checkout master

This way of hopping about in your git history (i.e. checking out a commit with its object name, also known as its hash or SHA1sum) is very useful for finding a previous good commit for git bisect, for example, since it won’t move your branches.

One thing to bear in mind is that you’ll get a possibly confusing warning when doing this: if you check out a commit from its object name (a1b2c3) that will put you into a state known as “detached HEAD”, where HEAD, which usually represents your current branch, instead points directly to a particular commit. This isn’t something to worry about – it’s very useful for moving about in your history – but it does mean that if you create new commits when HEAD is detached, they won’t move a branch forward.


fork0 points out in the comment below the potentially useful shortcut git checkout -, which will checkout the previous branch or commit that HEAD pointed at.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)