怎么创建一个良好的Git提交信息

提交信息是对提交之前添加和更改的文件所做的更改的简短描述。
良好的提交信息不仅对你所参与的项目上其它的团队成员很重要,对你自己而言也很重要,你需要跟踪所有提交,并确切知道在提交期间发生的变动。
即使你开发的是个人项目,我也建议你开始养成编写良好的提交信息的习惯。
这是我惯用的格式(可以随着你的个人习惯和公司来改变):
type: subject
body (可选)
footer (可选)
1. Type
- feat :新功能
- fix : bug修复
- docs :文档变更
- style :与样式相关的所有变动
- refactor :既不是bug修复也未添加功能的代码更改
- test :与测试有关所有变动
- chore :改变了构建任务,程序包管理器配置等
2. Subject
它应该包含对所做更改的简短描述。长度不能超过50个字符,应以大写字母开头,命令式的语法。“Add”,而不是 “Added” 或 “Adds”。
3. Body
正文用于说明你进行了哪些更改以及进行更改的原因。并非所有提交都很复杂,需要一个正文,尤其是如果你仅是开发一个个人的项目,因此正文是可选的。
4. Footer
页脚也是可选的,主要在你使用issue追踪引用issue ID时使用。
这是Udacity学生git 提交信息的例子Udacity Git Commit Message Style Guide
feat: 少于50个字符的更改概括。
如有必要,提供更详细的说明文字,约72字符左右。在某些情况下,第一行被视为提交的主题,其余文本作为正文。
将摘要与正文分开的空行至关重要(除非没有正文);各种工具,例如 log,shortlog和rebase,如果同时运行两者,可能会造成混乱。
解释该提交解决的问题。注意说明为什么做这个更改(代码作了注释)。另一方面,是否会导致负面的作用或其他不直观的后果?这也是需要说明的地方。
空白行之后是其它段落。
- 项目要点也可以加进来
- 通常在项目符号前使用连字符或星号,用一个空格隔开,中间有空白行,但是约定在这里变化
如果你使用issue追踪,可以在footer中写上对issue的关联,就像这样:
Resolves: #123See
also: #456, #789
这是一个实际的例子:
docs: Fix typo in README.md
正文之外同样有一些有意思的评论(歪果仁会玩啊):
简短明了,感谢你的这篇文章!
我倾向于使用表情符号作为类型——一看就显示了提交的类型,例如:
:heavy_plus_sign: 添加文件或实现功能时
: hammer: 修复bug或处理issue时
:green_heart: 在改进代码或注释时
:zap: 在提高性能时
:scroll: 更新文档或readme时
:key: 在处理安全相关时
怎么创建一个良好的Git提交信息的更多相关文章
- Git查看某一个文件的历史提交信息
工作中我们有时候想要查看某一个文件的历史提交版本,] 还想看都修改过那些内容,那么这两个简单的命令就会帮到你了, 话不多说,comeBaby...... 1,首先查看一个文件的历史提交信息 git l ...
- 写得好 git 提交信息
编写好 git 提交信息 提交信息 我们作出答复,更改将提交相关信息,这些信息通常被认为是重要的信息会小心留下应该离开,你为什么需要这个提交实例,提交解决任何问题. 我们需要良好的信息组织,虽然后来, ...
- git push撤销、git commit 撤销、git add撤销、修改git提交信息
原文地址:http://leisure.wang/?p=472 虽然自觉是一个Git工具的老手了,但是平时犯了一点错误,就发现有点捉襟见肘了.就好像今天我把一些代码玩坏了,想撤回到前几个版本去(此时已 ...
- 在 Git 提交信息中使用 Emoji
Gitmoji 旨在解释如何在 Git 提交消息时使用表情符号.在提交信息时使用表情符号,可以更容易地识别提交的目的或意图. Emoji 列表 :优化项目结构 / 代码格式 :art: ️ :性能提升 ...
- commit lint规范化团队git提交信息
一.快速提交符号angular编码规范的提交信息 1.命令行中安装commitizen: npm install -g commitizen commitizen init cz-convention ...
- 使用gradle构建Android时 版本号versionName中嵌入git提交信息
为什么要这么做 在应用开发的版本迭代过程中,通过版本号并不能快速定位到所对应的代码,导致在后面分析问题追溯对应版本的代码时比较麻烦. 如果代码是通过git来管理的,git的commit id等 ...
- 一个高速做git提交的脚本
用于高速将项目中的全部改变push到代码仓库.能够替代下面操作: git add . git commit -m "" git push 项目地址: https://github. ...
- [Golang] 编译程序时打上git提交信息标记
1.加入代码 //version.go package version import ( "flag" "fmt" "os" ) var ( ...
- 在本地用命令行创建一个git仓库,并推送到远程
首先,进入的gitStore目录下(没有的话自己创建一个) 1.git init 在gitStore目录下 初始化一个git仓库 2.git add 复制一个文件到gitStore目录下,然后执行gi ...
随机推荐
- 彻底解决ssh.invoke_shell() 返回的中文问题
上一篇:https://www.cnblogs.com/apff/p/9484939.html(python如何实现普通用户登录服务器后切换到root用户再执行命令遇到的错误解决 ) 接上一篇,前两篇 ...
- IO—》Properties类&序列化流与反序列化流
Properties类 介绍:Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. Properties类特点: ...
- Fortify Audit Workbench 笔记 Password Management: Password in Configuration File(明文存储密码)
Password Management: Password in Configuration File(明文存储密码) Abstract 在配置文件中存储明文密码,可能会危及系统安全. Explana ...
- IntelliJ IDEA 2019.3.4永久破解(持续更新)--已更新
第一步,下载最新破解包: 链接: https://pan.baidu.com/s/1djUF9TiNZC4rIfxczxfIew 提取码: f521 把破解包两个文件放进bin目录下,这一步极为重要! ...
- 那些年拿过的shell之springboot jolokia rce
日穿扫描扫到一个spring boot actuator 可以看到有jolokia这个端点,再看下jolokia/list,存在type=MBeanFactory 关键字 可以使用jolokia-re ...
- PHP array_rand() 函数
实例 返回一个包含随机键名的数组: <?php $a=array("red","green","blue","yellow& ...
- PDOStatement::errorCode
PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 st ...
- Codeforces Round #654 (Div. 2) A~E 题解
LINK:CF R 654 div2 前言:F题是一个线段树分类讨论的题目 比赛的时候没看 赛后感觉没什么意思 所以咕掉了. 记事:第一次笼统的写一场比赛的题目 可能是我这场比赛打的太差了 题目不难 ...
- bzoj 1515 [POI2006]Lis-The Postman 有向图欧拉回路
LINK:Lis-The Postman 看完题觉得 虽然容易发现是有向图欧拉回路 但是觉得很难解决这个问题. 先分析一下有向图的欧拉回路:充要条件 图中每个点的入度-出度=0且整张图是一个强连通分量 ...
- 转)Understanding Java Memory Management
Understanding Java Memory Management - IBM Java Native Interface (JNI) Objects and Code Java Native ...