我最初尝试通过输入git checkout #######
< ----作为提交的前7位来删除本地提交
从那里它让我处于某种Detached Head状态,它会说Detached Head和commit ########。我没有意识到这一点,所以我一直在当地提交。当我去使用' git push origin master
'将它推送到github时它说一切都已经是最新的。
我没有意识到它通过输入git checkout -
切换回主人,现在我回到我的主分支中,那些先前的提交没有出现在git log
中我在切换之前所做的事情回到我的主人。现在,即使我尝试对我的GitHub进行新的编辑/提交,代码也不会出现在我的GitHub上,所以它可以说不同步。如何让这些提交恢复并正确同步我的Github?
答案 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
现在你应该在一个包含丢失提交的新本地分支上。