我有一个裸回购克隆,需要检查回购是否被打破。我试着运行git status
,但它说:
fatal: this operation must be run in a work tree.
我也试过运行git gc
,如果回购被打破,它返回非零。但由于回购规模很大,这需要很长时间。
有其他方法吗?
更新:我已经尝试过git fsck
,这也需要或多或少相同的时间作为git gc
。回购大小几乎是~ 16gb:(
使用最新的Git(2.30+),您也可以尝试git maintenance command
。
具体为:git maintenance start
如果成功启动,则表示存储库没有损坏。
您可能正在寻找git fsck
:
git fsck --verbose --full --strict