我在 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@{...}
谢谢大家
当我从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@{...}
谢谢大家