开发中的你的Git提交规范吗?

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 获取更多资讯
开发中的你的Git提交规范吗?的更多相关文章
- git 提交规范
git 提交规范 前言 无规矩不成方圆,编程也一样. 如果你有一个项目,从始至终都是自己写,那么你想怎么写都可以,没有人可以干预你.可是如果在团队协作中,大家都张扬个性,那么代码将会是一团糟,好好的项 ...
- 前端规范之Git提交规范(Commitizen)
代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到或思考过这一问题.而随着前端应用的大型化和复杂化,越来越多的前端团队也开始重视代码规范.同样,前段时间,笔者所在的团队也开展了一 ...
- 项目工程化之git提交规范以及 CHANGELOG生成
事先声明,本文是参考了其他大神的博客之后自己尝试的记录,具体可以参考如下 链接 先说说git 提交规范把,这里基本都是这个工具 cz-customizable 1,安装 npm install cz- ...
- 利用shell脚本生成CHANGELOG.md(包含git提交规范)
前言 我们经常看到github上面有很多CHANGELOG.MD包含版本的更新信息,如果我们的git提交能遵循一定的规范,那么使用gitlog就能很方便的生成它 生成结果  shell脚本 http ...
- 老鸟都应该注意的git 提交规范
不知道大家有没有看过自己项目的git 提交信息-----我看过好多次 ,不忍直视 然后提醒一起的小伙伴 :大家规范点 信息要详细, 过段时间再看下 ,还是一样. 相信很多猿都有这样的感受,对于垃圾的 ...
- 你可能会忽略的 Git 提交规范
一.为什么需要规范? 无规矩不成方圆,编程也一样. 如果你有一个项目,从始至终都是自己写,那么你想怎么写都可以,没有人可以干预你.可是如果在团队协作中,大家都张扬个性,那么代码将会是一团糟,好好的项目 ...
- 关于Git提交规范
自古至今,无规矩不成方圆. Git提交也有其规范,业内做的比较好的,比较具有参考价值的就是Angular的提交. Angular提交规范: <type>(<scope>): & ...
- Git提交规范
Commit message 的格式 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer. <type>(<scope>): &l ...
- Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)
Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...
随机推荐
- C++ string常见函数总结
基础概念 对照功能列表:不能直接回答的再去看相应解析说明. begin 得到指向字符串开头的 Iterator end 得到指向字符串结尾的 Iterator rbegin 得到指向反向字符串开头的 ...
- matplotlib的学习4-设置坐标轴
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3, 3, 50) y1 = 2*x + 1 y2 = x**2 ...
- Python 刷题笔记
Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...
- Python手把手教程之用户输入input函数
函数input() 函数 input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. 例如,下面的程序让用户输入一些文本,再将这些文本呈现给 ...
- Core3.0读取appsetting.json中的配置参数
前言 方法很多,下面的例子也是从百度上搜索到的,原文链接已经找不到了. 方法1 1.添加NovelSetting节点,写入相关的配置信息 2.创建类,字段与上面的配置一致 3.StartUp.cs中获 ...
- Blogs实现顶部的欢迎信息
简单,就直接上代码: <div style="text-align: center; font-size:20px; margin-bottom:0px; margin-top:0px ...
- Redis 设计与实现:字符串 SDS
本文的分析没有特殊说明都是基于 Redis 6.0 版本源码 redis 6.0 源码:https://github.com/redis/redis/tree/6.0 在 Redis 中,字符串都用自 ...
- 《Spring Boot 实战纪实》缺失的逻辑
目录 前言 (思维篇)人人都是产品经理 1.需求文档 1.1 需求管理 1.2 如何攥写需求文档 1.3 需求关键点文档 2 原型设计 2.1 缺失的逻辑 2.2 让想法跃然纸上 3 开发设计文档 3 ...
- 支付业务优化else if 代码
背景 最近在做项目的时候,需要接入支付.由于接入第三方支付而且还不知止一家,需要接入很多家.比如说支付宝.微信.富友支付等.每家支付都一个回调.现如今的代码,根据不同的第三方支付一大堆else if判 ...
- JavaDailyReports10_18
学习内容:HTML基本知识 1.通常标记具有默认属性,当一个标记中只有标记名时,使用默认属性. 2.HTML标记有两种:单标记和双标记,单标记的语法格式: <标记名称/> 3.不同的属性 ...