【问题标题】:How can I revert my last changes with git?如何使用 git 恢复我最近的更改?
【发布时间】:2016-05-25 01:13:27
【问题描述】:

我把我的代码搞砸了,我想把它恢复到最后一次提交。

我正在做git status,我看到我更改了很多文件。我根本不想看到他们。所以我做了git log 并找出了最后一次提交的哈希值。

我在命令中使用了这个哈希:git fetch origin this_hash 并得到了消息:

Mig-macbook-air:ios M$ git fetch origin this_hash
From https://github.com/linkto/myrepo
 * branch            this_hash -> FETCH_HEAD

但是当我执行git status 时,我仍然看到损坏的文件,而且我在我的 IDE 中也看到了它们。我想完全摆脱这些变化,我该怎么做?

我没有推送最后一次提交;我刚刚创建了一个分支并进行了提交。

【问题讨论】:

标签: git github


【解决方案1】:

如果您在运行git status 时看到所有文件,这意味着您有很多提交的本地更改。如果您确定要取消这些更改,请运行 git reset --hard head

【讨论】:

    【解决方案2】:

    git fetch 只是从远程获取更多提交;它不会触及工作目录。

    您需要git checkout <commit-reference>,它将将该版本检出到工作目录中。

    【讨论】:

      【解决方案3】:

      您有多种选择:

      在这里阅读所有关于如何做到这一点的几种方法:
      How to move HEAD back to a previous location? (Detached head)

      【讨论】:

        猜你喜欢
        • 2019-04-03
        • 1970-01-01
        • 2014-01-29
        • 2012-11-11
        • 2022-01-05
        • 1970-01-01
        • 2021-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多