通过Bat脚本执行git log仅生成表头,无提交日志内容
解决Bat脚本中git log无法输出提交日志到CSV的问题
问题根源
Windows批处理(Bat)会把%符号识别为环境变量的占位符,而你写的git log格式参数里的%H、%an等是Git的内置占位符,直接在Bat脚本中使用会被批处理解析为空值,导致Git无法正确识别格式规则,自然没有日志输出。
修复方案
把格式参数里的每一个%替换为%%(批处理中表示字面意义的%),修改后的脚本如下:
echo hash,contributor,email,date,message > commitLog.csv git log --date=local --pretty=format:%%H,%%an,%%ae,%%as,%%s >> commitLog.csv
额外排查点
- 确保脚本在Git仓库的根目录执行,若不在,可在脚本开头添加仓库路径跳转:
cd /d "D:\Your\Git\Repo\Path" - 检查Git是否已加入系统环境变量,若Bat无法识别
git命令,可改用Git的完整路径,比如:"C:\Program Files\Git\bin\git.exe" log --date=local --pretty=format:%%H,%%an,%%ae,%%as,%%s >> commitLog.csv
内容的提问来源于stack exchange,提问作者Xray25
相关产品推荐
相关产品推荐

