1. 前言
目前大部分公司都在应用 Git 作为版本控制,每个程序员每天都要进行代码的提交。很多开发者也包含我本人,有时候赶时间或者图省事,就这么提交:
git commit -m "批改 bug, 优化代码"
过了一段,忽然去查找一个具体的提交你会发现不是特地好找。因而咱们须要标准咱们的代码提交来防止这种状况。同时良好的提交标准也有助于咱们生成清晰的 ChangeLog,更利于共事之间的合作。
如果你想成为出名开源我的项目的贡献者更要标准本人的代码提交。
2. Git 提交标准
目前业内做的比拟好的,比拟具备参考价值的就是出名前端框架 AngularJS 的提交标准。咱们先来看一个例子:
对应的格局:
<type>[optional scope]: <description>
# 空行
[optional body]
# 空行
[optional footer]
更严格的我的项目可能提交要求应用英文形容,特地是国际化的开源我的项目。
依据下面这个例子咱们来理解一下这个业界比拟认可的 Git 提交标准。
type
refactor
示意本次提交的是 重构 代码,也就是它是一个提交的类型 type
,除了refactor
还有:
feat
新性能,顾名思义就是新需要的实现。fix
修复,就是对 bug 的修复。docs
文档,次要用来形容文档的变更。style
次要是代码格调相干的提交,比方格式化等。refactor
重构代码,对已有性能的重构,然而区别于 bugfix。test
测试相干的提交,不太罕用。chore
构建过程或辅助工具的变动,不太罕用,比方之前用 Maven,前面换成了 Gradle。
每次提交申明提交的 type
是必须的,它让本次提交的作用高深莫测。
scope(可选)
用来表明本次提交影响的范畴,不便疾速定位。你能够写明影响的是哪个模块(通常是模块名称)或者是哪个层(数据层、服务层、还是视图层)。
subject
就是下面的 批改版权信息
,是对本次提交的简短形容概括。就像胖哥写文章要起一个题目一样,不要过长。
body(可选)
就是比拟详细描述本次提交波及的条目,列举代码性能,这里胖哥习惯用 markdown 的列表语法,也就是用中划线换行隔开条目。当然 body
不是必选的,如果 subject
可能形容分明的话。
foot(可选)
形容与本次提交相关联的 break change 或issue。
break change
指明本次提交是否产生了破坏性批改,相似版本升级、接口参数缩小、接口删除、迁徙等。如果产生了上述的影响强烈建议在提交信息中写明break change,有利于出问题时疾速定位,回滚,复盘。
issue
如果发现我的项目有 bug、或者有优化的倡议、甚至新增一个工作,就能够利用 issue 给我的项目提交一个工作。
issue不是一些 Git 平台的专属性能,JIRA 等平台也有相似性能,它们的作用大同小异,都能够很好地反馈我的项目的成长情况和参与度。那么在 Git 提交时,咱们能够在 foot 区域关联本次提交波及的issue。
# 波及
issues #F12YC,#F45JW
# 敞开
Closes #F12YC
这里没有固定格局,不过尽量去参考一些出名我的项目去做。
3. 工具安利
说了这么多,置信你曾经对 Git 提交的标准有所理解了。这里举荐一些有用的工具来帮忙你将这些标准落实到位。在 Intellij IDEA 的插件市场有很多 Git Commit Message 模板插件,能够可视化的实现这些标准。
你能够去插件市场搜寻获取相干的插件。好了明天的分享就到这里,多多关注:码农小胖哥,学习更多有用的编程实用技巧。
关注公众号:Felordcn 获取更多资讯
集体博客:https://felord.cn