gitx如何将我的'Detached HEAD'提交回master

时间:2011-01-30 21:02:00

标签: git version-control

使用Git X并且必须在某些事情上做到失败。看起来就像几天前我创建了一个名为detached HEAD的分支并且一直致力于它。我的正常流程是提交master,然后将其推送到origin。但我不能推detached HEAD

我的下一站让我搞砸了。我选择git checkout master - 我的detached HEAD分支消失了。回到我的项目,过去几天我的所有变化都被抹去了。

无论如何我可以回复这些变化吗?

2 个答案:

答案 0 :(得分:433)

如果checkout master是你做的最后一件事,那么reflog条目HEAD@{1}将包含你的提交(否则使用git refloggit log -p来查找它们)。使用git merge HEAD@{1}将其快速转换为母版。

修改

正如评论中所述,Git Ready has a great article就此而言。

git refloggit reflog --all将为您提供错误提交的提交哈希值。

Git Ready: Reflog, Your Safety Net

来源:http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html

答案 1 :(得分:75)

如果你的分离HEAD是master的快进,你只想要上游的提交,你可以

git push origin HEAD:master

直接推,或

git checkout master && git merge [ref of HEAD]

会将其合并回您当地的主人。