怎么创建一个良好的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 ...
随机推荐
- 02 . Beego框架结构组织,路由及项目初始化
Beego项目组织结构 conf conf:项目配置文件所在的目录,项目中有一些全局的配置都可以放在此目录下.默认的app.conf文件中默认指定了三个配置: // 1)appname = Beego ...
- JPA第二天
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springdata"获取视频和教程资料! b站在线视 ...
- 巩固复习(Hany驿站原创)_python的礼物
Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www ...
- 11-21 logging 模块
默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志, 这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ER ...
- PHP array_product() 函数
实例 计算并返回数组的乘积: <?php$a=array(5,5);echo(array_product($a));?> 运行实例 » 定义和用法 array_product() 函数计算 ...
- PDOStatement::errorCode
PDOStatement::errorCode — 获取跟上一次语句句柄操作相关的 SQLSTATE(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 st ...
- 5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
LINK:小B的棋盘 考试的时候没有认真的思考 导致没做出来. 容易发现 当k>=n的时候存在无限解 其余都存在有限解 对于30分 容易想到暴力枚举 对称中心 然后 n^2判断. 对于前者 容易 ...
- mit-6.828 Lab Tools
Lab Tools 目录 Lab Tools 写在前面 GDB GNU GPL (通用公共许可证) QEMU ELF 可执行文件的格式 Verbose mode Makefile 写在前面 操作系统小 ...
- windows:进程查杀
windows平台中,某些进程做了各种保护,比如hook了terminateProcess,又或者注册了进程终止函数的回调.当调用这些API或任务管理器终止该进程时,会被绕过,典型如某些杀毒软件,怎么 ...
- SpringCloud系列之API网关(Gateway)服务Zuul
1.什么是API网关 API网关是所有请求的入口,承载了所有的流量,API Gateway是一个门户一样,也可以说是进入系统的唯一节点.这跟面向对象设计模式中的Facet模式很像.API Gatewa ...