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

如何用Git列出含特定文件变更的提交记录及变更文件?

列出特定文件变更的Git修订版本(含提交信息与变更文件)

不用自己写遍历脚本,Git本身就有现成的命令直接实现需求,用git log就能搞定,分几种场景:

单个指定文件(比如根目录的pom.xml)

直接运行以下命令:

git log --oneline --name-status -- pom.xml
  • --oneline:提交信息以简短单行展示(哈希前缀+提交标题)
  • --name-status:显示每个提交里变更文件的状态(修改M、新增A、删除D等)和文件名
  • 末尾的-- pom.xml:限定只追踪这个文件的变更历史

如果需要完整的提交详情(完整哈希、作者、提交日期),去掉--oneline即可:

git log --name-status -- pom.xml

匹配文件模式(比如所有子目录的pom.xml)

如果要追踪所有子目录里的pom.xml,用通配符匹配:

git log --oneline --name-status -- '**/pom.xml'

注意通配符要加单引号,防止被Shell提前解析成当前目录的文件。

额外实用技巧

如果想查看每个提交里该文件的具体变更内容,加上-p参数:

git log --oneline -p -- pom.xml

这样会在每个提交条目后附带该文件的diff对比内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:57:01