在Detached Head State中登陆,现在提交都不同步

时间:2016-06-02 13:20:52

标签: git github

我最初尝试通过输入git checkout #######< ----作为提交的前7位来删除本地提交

从那里它让我处于某种Detached Head状态,它会说Detached Head和commit ########。我没有意识到这一点,所以我一直在当地提交。当我去使用' git push origin master'将它推送到github时它说一切都已经是最新的。

我没有意识到它通过输入git checkout -切换回主人,现在我回到我的主分支中,那些先前的提交没有出现在git log中我在切换之前所做的事情回到我的主人。现在,即使我尝试对我的GitHub进行新的编辑/提交,代码也不会出现在我的GitHub上,所以它可以说不同步。如何让这些提交恢复并正确同步我的Github?

1 个答案:

答案 0 :(得分:0)

看看

.git/logs/HEAD

也许以下命令应该有帮助

cat .git/logs/HEAD |grep checkout | head -1

这应该打印出类似的东西。

15a5345eadd7d3737a3651faf4c142e2c6e23cf4 c4092cb8b80c43b120f33c2b095c1a71a56dd359 Your Name <your@email.com> 1367828297 +0200      checkout: moving from master to c4092cb8b80

该行的第一个哈希就是你丢失的提交。

尝试

git checkout the_hash
git checkout branch_with_lost_commits

现在你应该在一个包含丢失提交的新本地分支上。