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

Windows 7下Git Bash执行Git Diff获取仅INI文件列表报错求助

解决Windows 7 Git Bash中Git Diff筛选INI文件并写入日志的问题

你遇到的问题根源在于Windows 7 Git Bash对命令参数的解析逻辑和Mac下的bash存在差异,加上Git本身对参数边界的严格校验,导致$(find)被误识别为修订版本参数,从而抛出歧义错误。下面给你两个可行的解决方案:

方案一:明确分隔修订版与路径参数

在Git命令中,--是专门用来区分修订版本范围和目标文件路径的标记,加上它就能避免参数歧义。同时给*.ini加上引号,防止Windows系统提前展开通配符:

git diff refs/tags/l-build..HEAD --name-only -- $(find . -name "*.ini") >> log.txt

这个命令的逻辑和你在Mac上的写法一致,但通过--明确告诉Git:后面的内容是要筛选的文件路径,不是修订版本。

方案二:直接用Git的通配符筛选(更简洁)

其实不需要额外调用find命令,Git本身支持通配符匹配文件,同样用--分隔参数,写法更简单:

git diff refs/tags/l-build..HEAD --name-only -- '*.ini' >> log.txt

这里的单引号是为了让Git自己处理通配符匹配,而不是让Git Bash提前解析。

这两种方法都能在Windows 7的Git Bash中正常运行,帮你获取指定版本范围内所有修改过的INI文件列表并写入log.txt。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:10:43