简单的说,这个功能用于当使用者从一个分支Master的最新提交A
使用签出(已分离)功能切换到之前的一个提交后,做出更改之后提交了一个新的提交new
这时由于HEAD指针已经从分支的头提交(最新提交)分离,如果这时再次签出到之前Master分支的最新提交A,这时的new提交就会悬空,因为new提交不属于任何一个分支,属于是从Master分支分叉出来了,但是由于没有一个名分(分支),在vscode或者git log --graph --oneline --decorate命令就无法显示出来。
但是使用git fsck --lost-found命令就可以显示出来所有的悬空commit或者分支,确定到commit的hash值后,可以利用git checkout切换到那个commit之上,然后使用标题中的命令即可让这个悬空指针有名分,就可以用vscode或者可视化命令显示出来。
当然了,如果悬空之后一不小心使用了git的垃圾清理工具,那就找不到了。