Я считаю, что мой 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
. - Для каждого из этих коммитов выполните
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
Что нам здесь не хватает? Как мы можем найти, что проблема с оскорбительным фиксацией или файлом имеет проблему? В конце я хочу исправить репозиторий.