【问题标题】:Go back to reset local commit返回重置本地提交
【发布时间】:2014-02-28 16:07:19
【问题描述】:

我克隆了一个存储库,进行了一些更改并提交了一些文件,然后使用git pull 获取远程修改。意识到它已经自动合并了一些更改,我想回到我最新的(本地)提交,只是 git fetch 远程并手动合并。

所以,我使用git log 来查找我的最新提交,并使用git reset --hard my_commit_hash。但是现在,我又回到了原点,我的每一个提交都丢失了。我怎样才能回到我的最新版本?

【问题讨论】:

    标签: git commit reset


    【解决方案1】:

    如果您确实进行了提交,并且以某种方式进行了实际上不是您最新的提交,那么您可以使用 reflog 回到原来的位置。但这听起来更像是您添加了带有git add 的文件,而实际上并没有git commit 它们。在这种情况下,您的问题要困难得多。添加的文件将在您的对象数据库中创建对象,您可以使用git fsck 找到这些对象,但是恢复它们需要比您原本需要的更多的工作。那你是什么情况呢?

    编辑:

    一旦你在 reflog 中看到你想要的提交,比如HEAD@{3},你所要做的就是git reset --hard HEAD@{3}

    【讨论】:

      猜你喜欢
      • 2019-06-21
      • 1970-01-01
      • 2010-11-14
      • 2020-06-25
      • 1970-01-01
      • 2018-10-01
      • 2022-06-11
      • 1970-01-01
      • 2013-05-26
      相关资源
      最近更新 更多