列出旧提交的文件名

时间:2013-05-04 15:43:42

标签: git

很久以前我从存储库中删除了几个文件。几年后,我想看看它们。如果我知道其中一个文件的名称,我可以使用以下方法查看其中一个文件的历史记录:

git log -- path/to/file

如果我想从旧提交中看到该文件的版本,我使用它:

git show COMMIT:path/to/file

但是所有这些都假定我知道路径/到/文件,我不知道。有没有办法列出当时存在的所有文件,来自给定的COMMIT?

我意识到我可以反复这样做直到找到它:

git checkout -- COMMIT

但旧的COMMIT中的完整文件列表是理想的。这种能力是否存在?鉴于git的全面性,我敢打赌,但我肯定不知道。

2 个答案:

答案 0 :(得分:1)

您可以找到删除文件的所有提交,如:

git log --diff-filter=D --name-only --oneline
  • --diff-filter=D仅选择已删除的文件
  • --name-only显示文件名
  • --oneline使用单行提交说明

答案 1 :(得分:1)

如果要查看给定提交的所有文件,请使用git ls-tree -r $COMMITID