Git 硬重置并返回

Mak*_*s_F 3 eclipse git

从 git gui 开始,我在当前提交之前使用 gitkgit reset -hard进行了一些提交,因为我需要测试更改之前一切是否正常。

由于我什至有一些未提交的更改,因此我git stash为了保存它们并能够在返回到上次提交后重新应用它们。

问题是 gitk 不再显示我的提交树的顶部(顶部提交是当前提交,我没有看到上面有任何提交)

有时自从我上次使用 git 以来,但我想我可以使用 git reset -hard 将当前代码带到以前的版本,然后 git reset -hard 到旧版本。

如何检索旧 HEAD 和修订版之间的所有提交git reset -hard?请告诉我有某种方法。

我使用 Eclipse 作为开发工具(以防我需要使用它的缓存)

Von*_*onC 5

如果您在第一个 git reset --hard 之前先创建一个新分支,那么您所做的事情就可以工作。

因为git reset将当前分支移回原处,并且这些提交不再被任何分支引用(并且不再可见)

您需要退回到命令行,然后尝试:

git reset --hard ORIG_HEAD
# or
git reset --hard HEAD@{1}
Run Code Online (Sandbox Code Playgroud)

ORIG_HEAD或 HEAD@{1}应该具有第一次重置之前的 SHA1。
如果没有,git reflog可以提供帮助(这就是HEAD@{1}应该列出的内容)。

ORIG_HEAD不,正如“FETCH_HEAD从 Eclipse 中的历史视图”中提到的,您应该能够ORIG_HEAD在 Eclipse 的“历史视图”中看到。