为什么 git 还原告诉我"bad revision"当我使用提交哈希时?



我正在尝试恢复为较早的git commit,但要获得错误"不良修订"。为什么?

这是一个成绩单(已删除了作者名称):

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'

为什么我会得到"不良修订",我该怎么办?我在Windows 7上使用git bash,与GitHub上的起源。

使用SHA1的简短版本时,您使用 prefix ,而不是后缀。所以您实际上想说:

git revert 063ac580

使用哈希的开始作为识别,如:

git revert 063ac580e2

您正在尝试恢复不存在的。以9E7D365F开头的SHA不在您的存储库中。

在我的情况下,我从github复制了完整的sha。但是,该提交不再存在,因为当PR合并时,GitHub创建了不同的提交。

我运行git log以获取实际的SHA,现在它起作用了。

最新更新