优化 Git Commit Message
目前很多项目都是通过 Git 进行管理的,Git 每次提交代码的过程中 提交说明 commit message 是必须的。但仅仅必须是不够的,好的提交说明可以帮助我们提高项目的整体质量。
作用与优点
提交说明最首要的目的是帮助 提交者 说明本次提交的目的,而规范的说明信息有几个好处。
- 提供完整的信息,帮忙快速定位问题
- 过滤某些 commit ,快速查找有用信息
- 直接从 commit 信息生成 Change log
- 加快 Code Review 的过程
基本要求
- 第一行应该少于 50 个字。随后是一个空行
- 永远不在
git commit
上增加-m <msg>
或者--message=<msg>
参数,而需要单独写提交信息
好的提交说明要包含下面的内容:
- 为什么要提交这次修改?
- 怎么解决的问题?
- 可能影响哪些内容?
Angular 规范 CommitMsg 格式
Angular 主要有三个格式,其中 Head 是必须的,body 和 footer 是可选的。
# head: <type>(<scope>): <subject>
# - type: feat, fix, docs, style, refactor, test, chore
# - scope: can be empty (eg. if the change is a global or difficult to assign to a single component)
# - subject: start with verb (such as 'change'), 50-character line
#
# body: 72-character wrapped. This should answer:
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
#
# footer:
# - Include a link to the ticket, if any.
# - BREAKING CHANGE
#
Header
其中 type 用来说明 commit 的类别,只允许使用下面的 7 个标识。
- feat 新功能
- fix 修补 bug
- docs 文档
- style 格式
- refactor 重构
- test 增加测试
- chore 构建过程、辅助工具
- perf 提高性能
如果 type 为 feat 和 fix ,则该 commit 信息将肯定出现在 change log 之中。
scope 用于说明 commit 影响的范围,比如影响哪一层、哪个包中的内容或者使用哪些方案的实例。
subject 是关于 commit 信息的简短描述,不超过 50 个字。
Body
Body 部分是针对本次 commit 的详细描述,可以多行,要表达清楚变动的动机、与之前行为的对比。
Footer
用于不兼容变动和关闭 Issue 。
使用 gitemoji 进行美化
虽然纯文字的提交说明已经非常明确了,但是却比较单调,而且在一些内容上感觉少了一些步骤,于是在现有的内容上进行少量的修改以更美观的清晰。
type 主要将原来的 chore 进行了拆分,增加了 ci 和 review 两个内容,用来补充项目开发过程中的流程。其它的还有一些内容,可以参照 gitemoji 。
- feat 新功能
:sparkles:
✨ - fix 修补 bug
:bug:
优化 Git Commit Message的更多相关文章
- 如何写好git commit message
1.触发事件 我有这样一个版本库,里面包含两个学习用的练习项目:BookStore(以下简称BS)和PictureFriend(以下简称PF) 我在更改PF以后,未进行提交,同时又到BS中优化了一下文 ...
- git第四节----git commit message
@git commit message 什么是git commit message :git commit -m '每次提交时编辑的内容' git commit message的好处: 1 ...
- Git Commit Message 规范
今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...
- 我是怎么写 Git Commit message 的?
目录 作用 用的什么规范? type scope subject body footer 参考文章 用的什么辅助工具? 作用 编写格式化的 commit message 能够大大提高代码的维护效率. ...
- [软软软]技术博客-Commitizen优化git commit
工具介绍 commitizen/cz-cli是一个规范git commit的工具,使用它代替git commit能够方便有效地写好提交的log,使得团队项目的版本信息更清晰. 安装 (全局安装) np ...
- Git commit message和工作流规范
目的 统一团队Git commit日志标准,便于后续代码review,版本发布以及日志自动化生成等等. 统一团队的Git工作流,包括分支使用.tag规范.issue等 Git commit日志参考案例 ...
- [译]How to Write a Git Commit Message
原文: http://chris.beams.io/posts/git-commit/ 介绍:为什么好的commit message很重要 你浏览项目commit message的时候或多或少会有些困 ...
- git使用总结(包含git commit message 和 changelog 工具的介绍)
[git的配置] 1.配置用户名和邮箱: 分为全局配置和局部配置 --system 系统配置 --global 全局配置 --local 局部配置 Git读取时:优先从local>glo ...
- commitizen和cz-customizable配置git commit message
起因 团队对提交的commit message格式有约定俗称的要求,但是没有一个统一的规范,导致大家提交的commit message或多或少不太一样.因此,需要一个工具来帮助大家统一commit m ...
随机推荐
- ServiceStack.Redis高效封装和简易破解
1.ServiceStack.Redis封装 封装的Redis操作类名为RedisHandle,如下代码块(只展示部分代码),它的特点: 1)使用连接池管理连接,见代码中的PooledClientMa ...
- Nginx+Tomcat Https SSL部署方案
1.软件版本: nginx-1.15+ tomcat-8.0+ 2.先解决一个疑问:Tomcat到底需不需要配置SSL? 答案:不需要 3.SSL申请 使用腾讯云.阿里云的服务器,会更加方便申请.(申 ...
- Kafka 学习笔记之 Topic日志清理
Topic日志清理 server.properties: log.cleanup.policy=delete (默认) 1. 按时间维度进行Kafka日志清理 log.retention.hours= ...
- day 23
目录 面向对象总复习 面向对象总复习 面向过程编程思想: 核心是过程,过程指的是做事情的步骤,即先干什么再干什么. 基于该编程思想编程,就好比一条流水线,一种机械式的思维方式. 面向对象编程思 ...
- Linux学习资料网站汇总链接(持续更新ing)
排名不分先后. 学海无涯苦作舟. 博客: 1.slmba:LINUX博客原创大牛 2.edsionte's TechBlog:Linuxer (他的友情链接中还有一堆Linuxer,被公司屏蔽进不去. ...
- 在chrome浏览器安装各种前端,后台插件
如果想要在chrome安装插件,首先得先有应用chrome的商城,但是默认情况下是没有应用商店: 默认情况下下面这个界面是空白的,没有任何东西,第一步就先安装[谷歌访问助手] 安装步骤 第一步: 下载 ...
- e课表项目第二次冲刺周期第八天
昨天完成了什么? 昨天,我们组商量讨论了二层界面的设计,添加课程所需要的信息大概有:课程名称.教室.任课教师.上课时间.类型(单周.双周.单双周)以及备注等等.然后,我们通过界面的UI设计,让我们软件 ...
- Java编程思想——第17章 容器深入研究 读书笔记(一)
这一章将学习散列机制是如何工作的,以及在使用散列容器时怎么样编写hashCode()和equals()方法. 一.容器分类 先上两张图 来概况完整的容器分类 再细说都为什么会有那些特性. 二.填充容器 ...
- samba文件共享服务部署
1.安装samaba服务程序 yum install -y samba 2.查看smaba文件,由于注释空行较多,选择过滤 egrep -v "#|;|^$" /etc/samba ...
- Kali Linux开启ssh服务设置自启
几天没写 水一些今天遇到的问题 0x01 配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 将#PasswordAuthentication ...
- 如何写好git commit message