很久以前我从存储库中删除了几个文件。几年后,我想看看它们。如果我知道其中一个文件的名称,我可以使用以下方法查看其中一个文件的历史记录:
git log -- path/to/file
如果我想从旧提交中看到该文件的版本,我使用它:
git show COMMIT:path/to/file
但是所有这些都假定我知道路径/到/文件,我不知道。有没有办法列出当时存在的所有文件,来自给定的COMMIT?
我意识到我可以反复这样做直到找到它:
git checkout -- COMMIT
但旧的COMMIT中的完整文件列表是理想的。这种能力是否存在?鉴于git的全面性,我敢打赌,但我肯定不知道。
答案 0 :(得分:1)
您可以找到删除文件的所有提交,如:
git log --diff-filter=D --name-only --oneline
--diff-filter=D
仅选择已删除的文件--name-only
显示文件名--oneline
使用单行提交说明答案 1 :(得分:1)
如果要查看给定提交的所有文件,请使用git ls-tree -r $COMMITID