【问题标题】:Why is git revert telling me "bad revision" when I use a commit hash?当我使用提交哈希时,为什么 git revert 告诉我“错误修订”?
【发布时间】:2014-03-03 17:23:31
【问题描述】:

我正在尝试恢复到较早的 git 提交,但收到错误“错误修订”。为什么?

这是一个抄本(作者姓名已删除):

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。

【问题讨论】:

    标签: git git-commit git-revert


    【解决方案1】:

    当您使用 SHA1 的短版本时,您使用的是 前缀,而不是后缀。所以你其实想说:

    git revert 063ac580
    

    【讨论】:

      【解决方案2】:

      使用哈希的开头作为标识,如:

      git revert 063ac580e2
      

      【讨论】:

        【解决方案3】:

        您正在尝试还原不存在的内容。以 9e7d365f 开头的 SHA 不在您的存储库中。

        【讨论】:

        • 无法恢复从存储库中删除的修订版?就像提交被强制推送到远程仓库一样 - 活动日志中可以看到修订 ID,但不存在这样的修订。
        • 是的,这是可能的。但这不是 OP 遇到的问题。
        猜你喜欢
        • 1970-01-01
        • 2013-07-24
        • 2014-02-02
        • 2012-07-18
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-30
        相关资源
        最近更新 更多