Text? Emoji?

今年早些时候,在 GitHub 上对某个开源项目贡献了一点代码。原作者(是小米的员工了)还帮着我 review code。过去几个月了还是记得很清楚。GitHub 是最大的同性交友社区,还是名副其实的(笑

在看 commits history 的时候,发现原作者的 commit message 和我不太一样。前面加了个方括号表示这个 commit 的类别。于是我也学着这样写了,一直到今天我也还是这样写的。就像这样:

1
git commit -m "[fix] Fix stack overflow"

直到后来某一天,发现了 gitmoji 这个神奇东西,我试了也不喜欢,虽然省下了手打 emoji 的时间,但是类别太多了,emoji 也不能自定义。于是就有了下表🌝,规定了一些自己的类别和 emoji,用在自己的项目里。

Emoji 👌

text emoji desp
chore 🔧 :wrench: 零碎(即不是新增功能,也不是修改 bug 的代码变动)
doc 📝 :memo: 文档(documentation)
feat :sparkles: 新功能(feature
fix 🐛 :bug: 修复 bug
init 🎉 :tada: initial commit
partial passed(OJ) 🌚 :new_moon_with_face: Partial passed
passed(OJ) 🎉 AC
refactor ♻️ :recycle: 重构
remove 🔥 :fire: 删除文件
style 🎨 :art: 格式(不影响代码运行的变动)
test :white_check_mark: 增加测试
typo ✏️ :pencil2: 拼写错误
update 👌 :ok_heand: 更新/添加文件,当以上都不适合时使用。

举例

类别和 commit message 之间用一个空格分开

  • 使用 text
1
git commit -m "[feat] Add new feature balabala"
  • 使用 emoji
1
git commit -m ":sparkles: Add new feature balabala"