dangling commit
现象:
在git pull的时候一直卡在unpacking objects拉不下来
检查过程:
-
1.git fsck (to Verifies the connectivity and validity of the objects in the database.)用来验证git数据库中各种对象的联通性和合法性,检查仓库一致性
命令输出发现有一个dangling commit,显示的 commit id 恰好是要拉取下来的commit id -
2.所谓dangling commit,被悬挂的提交,指没有branch指针或者HEAD指针指向它,它是孤立的存在,于是被悬挂
-
3.git show --stat dangling_commit_id,想看看这个悬挂提交的状态,返回unable to read tree
-
4.因此尝试git merge dangling_commit_id是行不通的,因为这个悬空的commit产生是因为git pull没拉下来而生成的一个“表示我拉取过但是失败了”的记录,这个悬空的commit里面木有任何东西,merge不了的
-
5.要么继续pull试试,要么删掉本地然后clone。因为最近一次commit加了个19m大文件,多试几次吧,最后终于pull下来了。以后还是少add commit push大文件为好
网友评论