写 commit message 太痛苦?

36 阅读2分钟

前言

  作为一个程序员,你一定经历过这样的场景:

  代码写完了,git add . 敲完了,然后...对着 git commit -m "" 的光标发呆。

  "这次改了啥来着?"

  "算了,先写个 fix"

  "update"

  "."

"fix bug"

  "asdfghjkl"

  翻看 Git 历史,全是这样的提交信息:

  fix

  fix bug

  update

  修复

  1111

  啊啊啊啊啊

  三个月后回来看代码,完全不知道当时改了什么。

  所以我做了个小工具:git-ai-cli, 彻底告别这个痛苦。

1750eaaa-fe33-4237-89e7-dc6f165cc98b.png

git-ai-cli 的特性

  ✅ 支持 10+ 大模型

  国产大模型(推荐):

  | 服务商   | 模型           | 特点           |

  |----------|----------------|----------------|

  | DeepSeek | deepseek-chat  | 便宜好用,推荐 |

  | 通义千问 | qwen-turbo     | 阿里云,稳定   |

  | 智谱 GLM | glm-4-flash    | 速度快         |

  | Moonshot | moonshot-v1-8k | Kimi 同款      |

  | 百川     | Baichuan4      | -              |

  | 零一万物 | yi-lightning   | -              |

  国际大模型:

  - OpenAI (gpt-4o-mini)

  - SiliconFlow 硅基流动

  本地部署(隐私优先):

  - Ollama

  - LM Studio

  ✅ 交互式操作

  生成后不会直接提交,而是让你选择:

  - 🚀 Commit:满意,直接提交

  - 📝 Edit:微调一下再提交

  - 🔄 Regenerate:不满意,重新生成

  - ❌ Cancel:算了,不提交了

  ✅ 智能 Diff 处理

  自动过滤这些没意义的文件,节省 Token:

  - package-lock.json、yarn.lock 等 lock 文件

  - .min.js、.map 等压缩/映射文件

  - dist/、build/ 等构建产物

  如果 diff 太长,会自动截断到 5000 字符,避免超出模型限制。

  ✅ Conventional Commits 规范

  生成的 commit message 遵循标准格式:

  ():

  feat: 新功能

  fix: 修复 bug

  docs: 文档更新

  refactor: 重构

  test: 测试相关

  chore: 构建/工具链

  再也不用纠结 commit 怎么写了。


  这个工具解决了我每天的一个小痛点,希望也能帮到你。

  GitHub 地址:github.com/dongowu/git…

  如果觉得有用:

  - 给个 Star ⭐️ 支持一下

  - 有问题欢迎提 Issue

  - 欢迎 PR 贡献代码

  你平时是怎么写 commit message 的?欢迎在评论区分享~