【发布时间】: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时未提交的更改将被丢弃,除非您至少将它们添加到索引中,否则无法将它们取回。