You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Git指定日期后的提交ID及对应变更的文件列表?

Git指定日期后变更文件查询操作指南

问题1:仅输出单个commit的变更文件路径

可以实现,你只需给git show补充格式化参数即可过滤掉头部的commit元信息、提交说明内容,仅输出变更文件路径:

git show --pretty=format: --name-only <commit_id>

参数说明:--pretty=format: 定义提交信息的输出格式为空,即可屏蔽commit哈希、作者、日期、提交消息等内容,仅保留--name-only指定的变更文件列表。

问题2:指定日期后commit获取及更简便的全量文件查询方案

获取指定日期后的所有commit ID

使用git log的时间筛选参数即可批量导出符合要求的commit哈希:

# 替换双引号内的日期即可,也支持相对时间写法如"3 days ago"、"last month"
git log --after="2023-12-31" --pretty=format:"%H"

参数说明:--after筛选该日期之后的所有提交,--pretty=format:"%H"指定仅输出完整的commit哈希值。
如果需要遍历commit提取文件,可直接用如下bash脚本实现自动去重输出:

for commit in $(git log --after="2023-12-31" --pretty=format:"%H"); do git show --pretty=format: --name-only $commit; done | sort | uniq

更简便的直接查询方案(无需遍历commit)

不需要单独遍历每个commit,直接通过git log即可一步输出指定日期后所有发生过变更的文件,自动合并重复记录:

# 追加--no-merges参数可排除merge提交带来的重复文件记录
git log --no-merges --after="2023-12-31" --pretty=format: --name-only | sort | uniq

内容的提问来源于stack exchange,提问作者Edgar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:45:01