如何使用Git查询通配符匹配文件(如*.vcxproj)的变更历史排查构建问题
解决方案
完全可以通过Git原生命令实现需求,直接使用git log的路径匹配规则即可,默认输出就是按提交时间倒序(最新提交在前)。
常用命令参考
- 基础查询(当前分支所有匹配文件的提交记录,默认倒序)
命令:git log -- '*.sln' '*.vcxproj'
说明:--用于分隔提交参数和路径规则,通配符用单引号包裹避免被shell提前展开,匹配所有历史中符合后缀规则的文件,而非仅当前工作区存在的文件。 - 带修改文件清单的查询
命令:git log --name-only -- '*.sln' '*.vcxproj'
说明:输出提交信息的同时,会列出每次提交修改的符合匹配规则的具体文件,无需额外翻找变更内容。 - 带具体修改差异的查询
命令:git log -p -- '*.sln' '*.vcxproj'
说明:直接输出每次提交对匹配文件的具体代码改动,适合快速核对修改内容是否会引发构建故障。 - 跨所有分支查询
命令:git log --all --name-only -- '*.sln' '*.vcxproj'
说明:追加--all参数后会遍历所有本地分支的提交记录,适配多分支并行变更的排查场景。
可选筛选参数
如果需要缩小排查范围,可以追加以下参数:
- 按时间筛选:追加
--since="1 month ago"即可只查最近1个月的提交,时间规则支持3 days ago/2024-01-01等格式 - 按提交人筛选:追加
--author="提交人姓名"只查指定人员的提交
内容的提问来源于stack exchange,提问作者Mr. Boy
相关产品推荐
相关产品推荐

