我相信,我的Git存储库状况不佳,其中当我执行
git fsck
我在顶部收到以下警告。
103b5dd53f7a96f8e3a02aea0d3d4d9bb19644ed: contains zero-padded file modes
bb4729593e76f66b46292ad6ae61bfe909558337: contains zero-padded file modes
4709aa73691ce7da36dd22ccfd157c4514395330: contains zero-padded file modes
我尝试了以下(由同事建议)来查找有问题的提交,以便我可以纠正它们。我尝试了以下方法。
- 浏览所有来自
git rev-list HEAD
. - 对于这些提交中的每一个,执行 a
git ls-tree -rd
以查找所有相关对象SHAs。 - 看看其中是否有与
git fsck
.
上面的逻辑对我来说似乎是正确的,但它无法找到有问题的提交。
git rev-list --all --remotes | while read commit; do git ls-tree -rd $commit | grep -E "103b5dd53f7a96f8e3a02aea0d3d4d9bb19644ed|bb4729593e76f66b46292ad6ae61bfe909558337|4709aa73691ce7da36dd22ccfd157c4514395330" && echo -e "HIT @ $commit\n\n"; done
我们在这里缺少什么?我们如何才能找到有问题的提交或文件有问题?最后,我想修复存储库。