有没有比以下更好的方法来获取存储库中所有对象的 SHA1 原始列表:
ls .git/objects/??/\*
and
cat .git/objects/pack/*.idx | git show-index
我知道关于git rev-list --all
但这仅列出了引用的提交对象.git/refs
,我正在寻找一切,包括创建的未引用对象git-hash-object
, git-mktree
etc.
Try
git rev-list --objects --all
Edit乔什提出了一个很好的观点:
git rev-list --objects -g --no-walk --all
列出可从引用日志访问的对象。
要查看无法访问的提交中的所有对象:
git rev-list --objects --no-walk \
$(git fsck --unreachable |
grep '^unreachable commit' |
cut -d' ' -f3)
将所有这些放在一起,really获取输出格式为的所有对象rev-list --objects
,你需要类似的东西
{
git rev-list --objects --all
git rev-list --objects -g --no-walk --all
git rev-list --objects --no-walk \
$(git fsck --unreachable |
grep '^unreachable commit' |
cut -d' ' -f3)
} | sort | uniq
要以稍微更有用的方式对输出进行排序(按树/blob 的路径,首先提交),请使用附加的| sort -k2
它将对相同路径的所有不同 blob(修订版)进行分组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)