我在 git 中丢失了当前的 head 分支

I lost current head branch in git

当我从Develop分支切换到以前提交的分支时,head分支是我当前的分支,但分支列表中没有显示该分支 (CMD: git 分支).

当我做完一些工作的时候,不小心直接切换到Develop分支,天哪,我把这些改动丢了,怎么才能找到改动的部分呢?

您可以使用 git reflog 来确定您的工作副本之前所在的位置。一旦你确定了相关的提交,你可以做 git checkout <commit> 返回它。

使用 reflog 找出发生了什么,然后恢复到那个点


git reflog

您也可以随时使用 reflog
git reflog 将显示更新 HEAD 的任何更改,并检查所需的 reflog 条目会将 HEAD 设置回此提交。

每次修改 HEAD 都会在 reflog

中有一个新条目
git reflog
git checkout HEAD@{...}

这会让你回到你想要的提交


How to find and restore added content (even if it was not commited )

使用 git fsck 找出所有丢失的对象(悬空),然后您可以使用 git cat-file -p <sha-1> 检查并恢复它们。

git 重新登录 git 结帐 HEAD@{...}

谢谢大家