git fsck-如果这很干净,那么git repo状况良好吗? 我将我的存储库放入保管箱,并希望检查完整性

问题描述

我不小心将存储库放入保管箱。

在我的一个存储库中,如果没有关于丢失的树的消息,我无法执行git status。 (git fsck也报告了这一点)

在其他方面,我做了git fsck,只是悬挂了对象和提交。如果git fsck是干净的或者只是有悬空的对象/提交我是否安全?

解决方法

对象的“悬挂提交”和类似内容表示存储库本身未损坏。您可能丢失了某个分支的提交或两次提交,但是如果这样,则存储库本身至少是一致的。检查每个分支的最细提交 1 ,看看最后一次提交是否符合您的期望。 (尽管可以使用远程跟踪名称进行重复,尽管您可以在此处使用git fetch来解决问题。)


1 例如,对于每个分支,运行git show name。或者,git log --no-walk --branches将列出每个分支提示的提交。