Text? Emoji?

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

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

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

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

Emoji :ok_hand:

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

举例

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

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