【发布时间】:2019-06-21 15:03:59
【问题描述】:
我知道已经有人问过这个问题,但没有人提供对我有帮助的解决方案。
我使用 GitKraken,它显然没有用于检查历史中较旧的提交的集成功能(我必须进行一些测试,没有进行任何更改)。我现在知道我应该使用git checkout HEAD~n,而是使用了软重置。所以 GitKraken 仍然显示我的更改在那里并且在我重置之后出现。但是我怎样才能回到我最近的提交呢?签出也不行。
我不确定 GitKraken 是否只是显示错误,但 Git 告诉我我重置的提交是当前的 HEAD。似乎是正确的。
有什么方法可以恢复以下提交或将它们设置为 HEAD?
EDIT 重复标签:引用的线程是关于通过检查先前的提交来返回其预期的方式(我没有这样做)。由于我进行了软重置,因此我的主分支的 HEAD 不再是实际的最新提交,而是我将本地存储库重置为的那个。将git reflog 与重置一起使用有助于撤消已完成的操作。
【问题讨论】:
-
你能解释一下你想做什么吗?目前,这只是您在没有上下文的情况下尝试过的事情的列表。
-
返回一个比当前 HEAD 更新的提交,因为我对其进行了重置(之后有 5 个)。但 Git 显然没有意识到这一点。当我重置到最新的提交时,它似乎会反转那些所做的实际更改而不是恢复它们......
-
它可能解决了这个问题,但从我的角度来看,如果没有进一步损坏存储库的风险,这看起来不能满足我的目的。所以我想说我的问题有点不同,尽管解决方案可能是一样的。