Question

I am trying to revert to an earlier git commit but get the error "bad revision". Why?

Here is a transcript (with author names removed):

Ellen@ELLEN-PC /c/Users/Susan Mills/git/hello-github (master)
$ git status
# On branch master
nothing to commit, working directory clean

Ellen@ELLEN-PC /c/Users/Susan Mills/git/hello-github (master)
$ git log | head
commit e3eb30cc7ca6d4cd10de755b63821cad75da1e83
Date:   Wed Feb 5 17:54:32 2014 -0800

    I changed my greeting.

commit 063ac580e28bab524286dac7b0a8f88d9e7d365f
Date:   Mon Feb 3 07:53:19 2014 -0800

Ellen@ELLEN-PC /c/Users/Susan Mills/git/hello-github (master)
$ git revert 9e7d365f
fatal: bad revision '9e7d365f'

Why am I getting "bad revision", and what should I do? I am using git bash on Windows 7 with my origin on github.

Was it helpful?

Solution

When you use the short version of a SHA1, you use the prefix, not the suffix. So you actually want to say:

git revert 063ac580

OTHER TIPS

Use the beginning of the hash as identification, as in:

git revert 063ac580e2

You are trying to revert that doesn't exist. The SHA that starts with 9e7d365f is not in your repository.

In my case, I copied the full SHA from GitHub. However, that commit didn't exist anymore since when the PR was merged, GitHub created a different commit with a different hash.

I run git log to obtain the actual SHA, and now it worked.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top