刚刚帮助一位朋友调试了“损坏的 git 引用”。修复很容易update-ref -d
或rm -r .git/refs/...
,但我仍然不明白是什么导致了这个问题。
我对 git 的底层有中等程度的了解,但我还没有深入研究实际.git
目录。
分支/引用如何存储.git
?这会导致引用损坏吗?发生这件事时,他并没有做什么异常的事情。
刚刚帮助一位朋友调试了“损坏的 git 引用”。修复很容易update-ref -d
或rm -r .git/refs/...
,但我仍然不明白是什么导致了这个问题。
我对 git 的底层有中等程度的了解,但我还没有深入研究实际.git
目录。
分支/引用如何存储.git
?这会导致引用损坏吗?发生这件事时,他并没有做什么异常的事情。
Git引用只是指向提交的 SHA-1 哈希值的指针,可以指向分支、标签等。
它们存储在文件中,就像 Git 中的几乎所有内容一样,因此一些可能的破坏原因是:
或任何可能导致文件出现一般问题的类似内容。
另一个可能的原因是有人强行推送而远程无法正常更新,因此本地git实例在拉取后出现混乱。或任何类似的不同步。