git - 列出旧提交的文件名

标签 git

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

git log -- path/to/file

如果我想从旧提交中查看该文件的一个版本,我使用这个:

git show COMMIT:path/to/file

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

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

git checkout -- COMMIT

但是来自旧 COMMIT 的完整文件列表将是理想的。这样的能力存在吗?考虑到 git 的全面性,我敢打赌,但我肯定不知道。

最佳答案

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

git log --diff-filter=D --name-only --oneline
  • --diff-filter=D 只选择被删除的文件
  • --name-only 显示文件名
  • --oneline 使用一行提交描述

关于git - 列出旧提交的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16376062/

相关文章:

git - 终端中的撤消树样式 git

git - 如果它是分支中唯一的提交,我该如何删除第一个也是唯一的提交?

git - 找不到 Composer 包

git - 自动镜像一个git仓库

git - 致命的 : A branch named 'gh-pages' already exists

python - conda 自动更新 requirements.yml

git cherry-pick merge 删除文件

Gitolite 对分支的权限

git - 强制 intellij Idea 与另一个 git 存储库一起工作

git - 使用 SourceTree 将两个 GIT 存储库 merge 为一个