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

修复LazyGit自定义命令自动添加Git提交前缀的空格问题

修复LazyGit自动添加工单编号到提交信息的空格兼容问题

问题根源

提交信息包含空格时未被正确包裹为单个参数,Shell会将空格拆分后的内容传递给git commit,Git误将这些内容识别为文件路径,从而触发pathspec错误。原awk命令未对含空格的提交信息做引号包裹处理,导致参数拆分异常。

修复方案

将提取的工单编号与提交信息整体用双引号包裹,确保Shell将其识别为单个参数。同时优化分支前缀提取逻辑,精准匹配工单编号格式:

方式1:适配TEST-12345格式的工单编号(分支名前缀为大写字母+连字符+数字)

git commit -m "$(git branch --show-current | grep -o '^[A-Z]*-[0-9]*') {{.Form.Message}}"

方式2:按分支名连字符分割提取前两段(适配固定结构分支名)

如果分支名严格遵循工单编号-分支描述格式(如TEST-12345-my-branch-name),可使用awk拆分:

git commit -m "$(git branch --show-current | awk -F'-' '{print $1 "-" $2}') {{.Form.Message}}"

核心改进点

  • 用双引号包裹-m参数的整个值,避免空格被Shell解析为参数分隔符
  • 确保工单编号与提交信息之间的空格属于提交信息的一部分,而非参数拆分标记

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:22:33