【问题标题】:Undo git reset --hard [duplicate]撤消 git reset --hard [重复]
【发布时间】:2015-09-15 01:08:09
【问题描述】:

我打算 git reset --hard 到我最后一次提交,但我不小心回到了之前的提交。无论如何要撤消此操作。

这是事件的顺序: 1. 我从一个常见的 repo 中提取并进行了一些更改并提交了它们 (SHA1)。我进行了更多更改并提交了它们(SHA2)。然后我做了一些更改,但从未提交,我只是想回到 SHA2。相反,我重置为 SHA1。现在,我所有的更改都丢失了。我可以撤消上次重置并进入 SHA2 吗?

我的意思是当我做了一个 git log 时:

"SHA2" - HEAD
 Jun 26
 some comment -1

 "SHA1" - Origin
  Jun 25
  some comment -2

我重置为 SHA1 而不是 SHA2。我可以撤消我的重置吗--hard

【问题讨论】:

  • 如果某处还有“SHA2”的值,也可以直接在那里重置:git reset --hard SHA2
  • 我试过这样做,但我仍然看不到我之前的任何更改。他们似乎迷路了。
  • 您指的是哪些较早的更改?你在 SHA2 之后做的那些未提交的?执行git reset --hard 时未提交的更改将被丢弃,除非您至少将它们添加到索引中,否则无法将它们取回。

标签: git github git-reset


【解决方案1】:

我会看看git reflog。它会跟踪您的许多本地更改,并可用于恢复丢失的提交(假设尚未进行清理)

【讨论】:

    猜你喜欢
    • 2015-01-10
    • 2018-05-30
    • 2010-09-05
    • 2015-02-10
    • 1970-01-01
    相关资源
    最近更新 更多