Git:重置 - 现在我被困在了过去

时间:2011-11-21 14:39:07

标签: git

在阅读Pro Git书中的内容后,我正在弄reset

我基本上最终做了reset --hard到之前的修订版12提交。

我似乎无法回到现在或最近的提交。我已经尝试reset ORIG_HEAD使用git status,甚至在修订版的sha1中提供它以继续使用。

正在运行{{1}}我得到: 您的分支机构落后于12次提交,可以快速转发。

如何将HEAD移回最新提交?

3 个答案:

答案 0 :(得分:11)

使用reflog找出你想去的地方。您可以使用git reflog获取它,然后重置为相应的提交。假设你在重置后没有做任何事情,

git reset --hard 'HEAD@{1}'

应该这样做。

答案 1 :(得分:4)

好像你已经推动了你重置的12次提交。如果是这样的话,那么

git merge --ff-only REMOTE/BRANCH_NAME

应该在REMOTE是远程名称(通常为origin)且BRANCH_NAME是您当前分支的名称的情况下工作。

答案 2 :(得分:3)

另一种方式(在reflog旁边)将使用你的分支似乎在remotes命名空间一侧作为远程分支引用的事实,这就是你看到的原因:

Your branch is behind by 12 commits and can be fast-forwarded.

一个简单的

git merge origin/yourBranch

应足以快速将本地分支的HEAD快进到远程分支所在的位置。