今天刷到一个挺有意思的小工具,名字叫 ponytail,专门治我这种每次 git commit -m 都瞎写一通的人。
它干的事儿很简单:你给它一个 commit,它帮你按 Conventional Commits 那套规范生成一条标准的提交信息。比如你写了一堆乱七八糟的说明,它能给你整理成 feat: 新增用户登录接口 这种格式。
我试了下,用法不复杂,装好之后直接 ponytail 或者配合 git 的 hook 用都行。它甚至还能反过来——你给它一条规范信息,它帮你解析出类型、scope、描述这些字段。
说真的,团队协作里 commit message 规范这事儿,靠人自觉基本没戏。以前我们组还专门搞过 pre-commit 检查,结果就是大家为了过检查随便凑格式,该写清楚的一个字都不多写。ponytail 这种工具的好处是它帮你把格式这层脏活干了,你只需要专注把改动说清楚就行。
另外我看了下它的实现,不算重,依赖也少,扔进 CI 或者本地 hook 里都没啥负担。如果你也在维护开源项目或者带团队,可以试试把它塞进工作流里,至少 review 的时候看 commit log 能清爽一点。
这个好,我们组 commit log 乱得跟菜市场一样,改天忽悠组长推一下