我正在尝试识别我的项目历史记录中已删除的大文件。当我这样做时,我可以看到一个有序列表。
$ git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
| sed -n 's/^blob //p' \
| sort --numeric-sort --key=2 \
| cut -c 42-
通常,我可以从历史记录中删除文件而不会出现这样的问题:
git filter-repo --force --invert-paths --path <path-to-file>
但是,如果文件过去有不同的名称或路径,一旦我删除该文件,当我再次运行 rev-list 时,我会看到我刚刚删除的同一个文件,大小相同,但过去的不同路径或名称。
有没有办法用 rev-list 查看对象的所有文件路径,这样我就不必像这样在历史记录中迭代路径/名称更改?