Git是全球最流行的开源版本控制系统。Gitmoji是一个使得代码提交信息更简洁, 更有可读性的规范。这个规范提供了一组表情符号, 用以描述Git提交时的具体含义。目前这个规范已经广泛地被接受和使用, 并且得到了全球开发者的喜爱。
一、表情符号是如何描述Git提交信息的
通常情况下, Git提交信息的格式都是"主题-描述"。例如:
feat: add search bar component
新增搜索栏组件
但是, 这种格式的提交信息较为单一, 不具体描述提交的情感和目的。在实际的开发中,有时候提交代码或许仅仅是增加或者删除几行代码,但是在提交信息中描述时,却不能仅仅用简单的几个单词。此时,表情符号就能派上用场了。Gitmoji使用形象的表情符号表达情感和目的,例如: 1. :sparkles:(:星星:): 增加新功能 2. :bug:(:bug蟲蟲:): 修复Bug 3. :wrench:(:扳手:): 修改配置文件 4. :fire:(:火焰:): 删减代码 5. :art:(:调色板:): 改变代码格式 同时,每个表情符号后面加上了对应的含义描述方便别人阅读。
二、Gitmoji如何使用
使用Gitmoji只需要在提交信息前,加上对应的表情符号即可。下面是一个示例:
:sparkles:feat: add search bar component
新增搜索栏组件
注意,Gitmoji严格遵循的是"Git Commit Message Styleguides",这意味着提交信息还需要遵循以下规则: 1. 主题部分(type)必须严格分为下列几种之一: - :sparkles:feat:添加新功能 - :bug:fix:修复bug - :memo:docs:仅仅修改文档(比如README、CHANGELOG、CONTRIBUTING等等) - :art:style:仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑(如果增加了一个则是feat) - :building_construction:refactor:代码重构,既不修复bug也不添加新功能 - :white_check_mark:test:增加测试,包括单元测试、集成测试等 - :zap:perf:优化性能的代码更改 - :lipstick:ui:改进UI的样式 - :truck:move:移动或重命名文件/文件夹 - :package:dep:更新依赖,例如更改npm包版本 - :heavy_plus_sign:add:增加新的依赖项 - :heavy_minus_sign:remove:删除依赖项 2. 冒号后面的空格必需加上。 3. 描述部分(description)首字母小写不需加状态,如added、changed、removed等,描述语句不超过72个字符, 以及使用第一人称应该避免。
三、为何要使用Gitmoji?
虽然使用表情符号描述Git提交信息看起来很“可爱”,但其实Gitmoji更重要的意义是能够更好地在团队中沟通。相比于纯文本的提交信息, Gitmoji提供了更为明确的信息和含义, 减少了沟通障碍, 方便团队协作。 此外,Gitmoji 还能帮助开发人员更好地组织提交历史。它们很容易识别, 使人们能够更轻松地浏览和查找 Git 库的历史。特定的表情符号能够把同一类提交归类到一起,并且在提交记录中的排列顺序也十分合理。
四、Gitmoji的历史和发展
Gitmoji最初由Carlos Cuesta于2016年创建,由于其功能的便利性,这个规范在Github上被广泛推广开来,最终发展成为了在Git客户端和Web应用中使用的标准。 在许多典型应用中,已经确立了 Gitmoji 规范作为编写提交信息时的标准之一。 Gitmoji 在业界的影响越来越大, 并且越来越多的开发者加入到Gitmoji的阵营中,对Git提交信息做出了更多更为丰富的描述。