【问题标题】:Discarding my changes and going back to an old commit放弃我的更改并返回旧提交
【发布时间】:2015-01-11 03:06:46
【问题描述】:

我正在使用 Sublime 文本处理我的项目。在较早达到里程碑后,我将工作提交给本地 Git(没有推送)

我继续工作,结果搞砸了。现在我想回到我的上一次提交并重试。所以我用谷歌搜索了一下,找到了我在命令提示符下输入的git revert --hard last-commit 并得到了这个

HEAD is now at 5d6eebd Revert "Finished adding feature. Everything works"

但在我的 Sublime 编辑器中,我的文件并没有变回来。我尝试关闭并重新打开文件,但一切仍然搞砸了。

如果它不改回我的文件,那么恢复有什么意义?我做错了吗?

【问题讨论】:

  • git revert --hard 什么都不做,并为我打印出使用情况。您是否真的重置为恰好是还原的提交,或者您是否还原了?

标签: git revert


【解决方案1】:

git revert 用于进行 new 提交,以撤消先前提交(或提交范围)的工作。

要返回您在当前分支上的最后一次提交,放弃此后完成的所有工作,请尝试git reset --hard HEAD

【讨论】:

    【解决方案2】:

    你对 revert 所做的就是取消提交。

    如果您想使用“5d6eebd”分支进行结帐。

    如果不是,如果您想销毁本地更改,请使用重置。

    Revert 文档 (http://git-scm.com/docs/git-revert) 说“如果您想丢弃工作目录中所有未提交的更改,您应该看到 git-reset[1],尤其是 --hard 选项。”

    在这里的另一个线程中,您有一些示例 How to revert Git repository to a previous commit?

    【讨论】:

    • 结账?你能给我一个例子吗?我是n00b
    • 在您的情况下,您可以使用特定的分支 $git checkout -b 5d6eebd /// 另一个选项是 $git checkout master
    猜你喜欢
    • 2013-04-15
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 2014-07-12
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多