F
章节导航

如何写 Git Commit?

Elog 1 分钟阅读

我常把提交信息当作一条会被海风带去远处的短信。它不是写给今天的自己,而是写给某个尚未抵达的你——在某个雨夜、某个凌晨、某个“为什么会这样”的时刻。好的 commit,不是炫技,而是让历史能被读懂,让故事能被追溯。

1) 先拆问题,再写句子

一个提交只说一件事。
如果你发现自己在写“并且”“同时”,就说明应该拆成两个提交。

2) 用动词开头,告诉未来“发生了什么”

推荐格式(常见且清晰):

feat: add terminal command panel
fix: correct blog tag filter
style: tighten spacing in post header
chore: update dependencies
  • 动词指向动作:add / fix / improve / remove / update
  • 对象指向范围:terminal / blog / docs / config

这是一种小小的秩序,像把石头排成一条能回家的路。

3) 保持简短,但不含糊

坏例子

update
fix bug
changes

好例子

fix(posts): avoid toc crash on empty headings
feat(blog): add pinned section to index

一句话应该能回答:改了什么?为什么改?

4) 需要时加上“原因”

当改动背后有风险或背景时,我会在提交里写清楚原因:

fix(nav): prevent sidebar overflow on small screens

The drawer was clipping content on iPhone SE.

这不是赘述,是给未来的自己准备的证词。

5) 让它能被检索

如果你的项目会生成变更日志,或者需要自动发布,建议遵循约定式提交:

feat(scope): summary
fix(scope): summary

这样你的历史不只是回忆,还能被机器理解。

6) 最后读一遍:它能否独立成句?

我会在提交前对着句子读一遍:

“feat: add terminal command panel”

它像一条路标。有人在夜里路过时,也许会凭它找到方向。


写 commit 其实是一种温柔的纪律。
当你愿意在每次变化之后写上一句清楚的话,Git 就会替你把那些喧闹的日子整理成一条可读的时间线。
而你终会在某个未来的夜晚,感谢那个愿意认真写 commit 的你。