git:git commit 书写格式

git commit 的来源 & 如何使用

  正如 git add 的作用是将文件放入暂存区, git commit 的作用是将修改提交到分支上。

  如果只写一句话,那么以下指令即可:

git commit -m 'Hello Commit !'

  如果想写一整段话,那么输入以下指令,可跳转到文本编辑器界面大书特书:

git commit

  目前,社区有多种 Commit message 的写法规范。经过查阅和比较,我自己采用的是 Angular 规范,这是目前使用最广的写法,比较合理和系统化,并且有配套的工具。


Angular 规范

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

标题行:50个字符以内,描述主要变更内容

主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括: 
    - 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
    - 他如何解决这个问题? 具体描述解决问题的步骤
    - 是否存在副作用、风险? 

尾部:如果需要的化可以添加一个链接到issue地址或者其它文档,或者关闭某个issue。

参数说明

Header部分

  一行,三个字段。type(必需)、scope(可选)和subject(必需)。

  1. type: 代表某次提交的类型,比如是修复一个bug还是增加一个新的feature。 type类型 Annotation feat 新功能(feature) fix 修补bug docs 仅仅修改了文档,比如README, CHANGELOG, CONTRIBUTE等等 style 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑 refactor 代码重构,没有加新功能或者修复bug test 测试用例,包括单元测试、集成测试等 chore 改变构建流程、或者增加依赖库、工具等 revert 回滚到上一个版本
  2. scope: 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
  3. subject: 是 commit 目的的简短描述,不超过50个字符。

Body部分

  是对本次 commit 的详细描述,可以分成多行。

  范例:

More detailed explanatory text, if necessary.  Wrap it to 
about 72 characters or so. 

Further paragraphs come after blank lines.

- Bullet points are okay, too
- Use a hanging indent
  1. 使用第一人称现在时,比如使用change而不是changed或changes。
  2. 应该说明代码变动的动机,以及与以前行为的对比。

Footer部分



Ref:



本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏娱乐心理测试

微信小程序中如何打开另一个小程序

1.9K50
来自专栏desperate633

计算机网络之数据交换(电路交换,报文交换,分组交换)电路交换报文交换分组交换分组交换与电路交换

就要经过网络核心进行数据交换,数据不断从一个网络交换到另一个网络,直到到达目的主机。所以网络核心解决的基本问题就是数据交换。

11010
来自专栏信安之路

一道 CTF 题 get 到的新姿势

本文是从一个 CTF 题目中学到的一个新姿势,下面对我的学习做一个记录总结,给大家分享一下,希望大家多多参与一起分享学习。

11700
来自专栏小灰灰

QuickTask动态脚本支持框架整体介绍篇

一个简单的动态脚本调度框架,支持运行时,实时增加,删除和修改动态脚本,可用于后端的进行接口验证、数据订正,执行定时任务或校验脚本

13720
来自专栏FreeBuf

代码审计之任意文件下载漏洞案例分享

继上次审计HDWiki之后,最近拿到一套新的源码Ear_Music_20180510_UTF8最新版进行审计,发现这套cms还是比较安全的,而当我审计遇到一处下...

16640
来自专栏孔德雨的专栏

Mongos 与集群均衡

Mongodb 可以以单复制集的方式运行,client 直连mongod读取数据。单复制集的方式下,数据的水平扩展的责任推给了业务层解决(分实例,分库分表),本...

8.9K30
来自专栏腾讯IVWEB团队的专栏

一次 Node.js 内存溢出

因为内存上限设置不合理,引起的内存溢出问题。之前压测时候只关注了是否存在内存泄露与cpu占用,而忽视了内存占用这个问题。对于部署服务时,要根据机器的内存上限以及...

71200
来自专栏zingpLiu

【实战小项目】python开发自动化运维工具--批量操作主机

有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子。只不过,很多运维同学学习Python之后,苦于没小项目训练,本篇演...

29620
来自专栏散尽浮华

Gerrit日常操作命令收集

Gerrit代码审核工具是个好东西,尤其是在和Gitlab和Jenkins对接后,在代码控制方面有着无与伦比的优势。 在公司线上部署了一套Gerrit系统,在日...

25560
来自专栏吉浦迅科技

DAY14:阅读CUDA C runtime之错误检查和Call stack

23830

扫码关注云+社区

领取腾讯云代金券