如何列出Git仓库完整历史记录中所有已删除的文件?
如何列出Git仓库所有已删除的文件
当然可以!要找出从空仓库创建以来所有被删除的文件,这里有几个实用的Git命令组合,能帮你轻松获取所需信息:
1. 获取去重的所有已删除文件列表
这是最常用的命令,会输出所有曾经被删除过的文件,并且自动去重(避免同一个文件多次删除重复显示):
git log --all --pretty=format: --name-only --diff-filter=D | sort -u
各参数解释:
--all:遍历仓库中所有分支的提交历史,不会遗漏其他分支的删除操作--pretty=format::清空提交信息的输出格式,只保留文件名--name-only:仅显示变更涉及的文件名--diff-filter=D:只筛选出被删除的文件(D是Delete的缩写)sort -u:对结果排序并去重
2. 获取带提交详情的删除记录
如果需要知道每个文件被删除时的提交信息(比如提交哈希、作者、时间),可以用这个命令:
git log --all --pretty=format:"%h %ad %an" --name-only --diff-filter=D
参数补充说明:
%h:显示提交的短哈希值%ad:显示提交的时间(默认格式,可通过--date参数自定义,比如--date=iso)%an:显示提交作者的名字
3. 仅查看当前分支的删除记录
如果只关心当前分支的删除操作,去掉--all参数即可:
git log --pretty=format: --name-only --diff-filter=D | sort -u
4. 查找特定文件的删除记录
要是想确认某个特定文件是否被删除过,以及它的删除提交详情,可以指定文件路径:
git log --all --diff-filter=D -- path/to/your/file.ext
这个命令会输出该文件所有被删除的提交记录,方便你追溯具体操作。
内容的提问来源于stack exchange,提问作者romaric crailox
相关产品推荐
相关产品推荐

