我厌倦了在提交信息里写 “fix”,于是一个下午就把它实现了
发布: (2026年3月15日 GMT+8 10:43)
4 分钟阅读
原文: Dev.to
Source: Dev.to
每个开发者都懂这种感觉
你刚刚花了 3 小时来构建一个功能。
你很累,只想提交代码然后去睡觉。
然后 git 会询问你:
Enter commit message:然后你输入……“fix”,或者“update”“changes”,或者我个人最喜欢的——“asdfgh”。
没人谈论的日常痛点
这不仅仅是提交信息。作为开发者,你每天都要写三件与实际编码无关的事:
- 提交信息 – 每次将代码保存到 git 时
- 每日站会 – 每天早上 “昨天我做了什么?”
- PR 描述 – 向团队再次解释你的更改
这三件事每天都会发生。它们并不难,但令人烦恼、重复,并且会占用你一天中 10‑15 分钟的时间进行没有任何价值的脑力劳动。
我构建的工具
我构建了 commitgpt —— 一个 CLI 工具,它读取你的 git diff 并使用 AI 自动为你生成上述三类内容。
git add .
cmt输出
✨ feat(auth): add Google OAuth2 login with session timeout
- Implemented OAuth2 flow using Google provider
- Sessions expire after 30 mins of inactivity
- Fixed bug where users stayed logged in after password change
- Added redirect to dashboard on successful login这是一条真实、专业的规范提交信息 —— 只用了 2 秒钟就根据你的实际代码更改生成。
三个全部命令
提交信息
git add .
cmt每日站会
cmt standup输出
Yesterday: Implemented OAuth2 login flow, fixed session expiry bug
Today: Writing tests for auth middleware, reviewing PR #42
Blockers: NonePR 描述
cmt pr输出
## What changed
Added Google OAuth2 login with automatic session timeout.
## Why
Users were staying logged in indefinitely, creating a security risk.
## Testing
- Manual: tested login, logout, session expiry
- Unit: auth middleware coverage at 94%如何使用
安装
pip install commitgpt-nikesh获取免费 GitHub 令牌
- 前往 github.com → Settings → Developer Settings
- Personal Access Tokens → Generate new token
- 不需要任何作用域。
创建 .env 文件
GITHUB_TOKEN=ghp_your_token_here运行命令
git add .
cmt # commit message
cmt standup # daily standup
cmt pr # PR description我的构建过程
- 大约 300 行 Python 代码。
- 使用
click实现 CLI。 - OpenAI SDK 指向 GitHub Models API。
- 使用
subprocess调用 git 命令。 - 使用
python-dotenv加载 API 密钥。
最难的部分是编写合适的提示词,以便每次都能得到一致、高质量的输出。
接下来计划
- 在提交信息中支持 Jira 票号
- VS Code 插件
- 支持更多 AI 提供商
试一试
pip install commitgpt-nikeshGitHub:
欢迎在评论中留下反馈 —— 你希望接下来看到哪些功能?