如何显示 git 知道的所有文件?

如何显示 git 知道的所有文件?

如何生成 git 在整个历史过程中了解的文件名(包括路径)列表?

答案1

天真的解决方案:

git rev-list --all | xargs -n1 git ls-tree --full-name -r --name-only  | sort -u

这会列出所有提交,然后使用它来列出每个提交中的所有文件。排序去重。但仅适用于小型回购,因为它需要很长时间。

更好的解决方案是使用 libgit2 来做同样的事情,应该更快,但需要一些编程。可以找到实现此功能的快速技巧在 github 上。它使用 pygit2,比上面的 shell 管道快一个数量级。

相关内容