规范Commit格式

Jenkins根据对比当次构建和上次构建的Commit信息来生成ChangeLog,但因为我们目前的提交不够规范,经常有类似"#","update"这列的提交,无法提供给PM有效的更新记录,所以建议大家尽量规范Commit格式。

Conventional Commits

目前推荐大家是有这套规范,如果大家有更好的可以推荐使用,官网链接如下:

Conventional Commits

官网介绍的很详细,要求也比较多,有一些我们可能也用不到,而且也会增加学习难度,所以我这边整理了一下适合我们的规范,比较简单,但应该够用,

格式

原文

    <type>[optional scope]: <description>

    [optional body]

    [optional footer(s)]

译文

    <类型>[可选 范围]: <描述>

    [可选 正文]

    [可选 脚注]

格式说明

示例如下:

type

  1. fix: 类型fix 的提交表示在代码库中修复了一个bug。
  2. feat: 类型feat 的提交表示在代码库中新增了一个功能。
  3. perf:类型 为 perf 的提交表示在代码库中做了性能优化。
  4. style:类型 为 style 的提交表示在不影响代码含义的变化(空白,格式化,缺少分号等)。
  5. docs:类型 为 docs 的提交表示仅更新文档。
  6. refactor:类型 为 refactor 的提交表示重构,不修复 bug 且不添加功能。

示例属于新增功能,所以使用了feat

optional scope

范围必须是一个描述某部分代码的名词,并用圆括号包围。

示例只影响到BlankSystem,所以scope写的是这次只针对BlankSystem。

description

描述字段必须直接跟在<类型>(范围) 前缀的冒号和空格之后。 描述指的是对代码变更的简短总结。

示例总结主要是为了能让非开发(PM)看懂,方便写release note,所以尽量用大家都知道的描述。

optional body

在简短描述之后,可以编写较长的提交正文,为代码变更提供额外的上下文信息。正文必须起始于描述字段结束的一个空行后。

示例简短描述是为了给非开发(PM)查看,正文是尽量让研发内部直接看懂,这里建议大家尽量写的清楚详细。

optional footer(s)

如果和每个jira相关,附带就可以

CLion示例

1. 下载插件Conventional Commit

2. Commit窗口打钩需要push的文件,然后邮件选择Commit Files...

3. Commit窗口左下角Amend左键红圈

4. Build Commit Message填好更新内容,然后会自动更新到Amend



5. Amend窗口点击Commit and Push...,然后在Push Commits to xxxx的窗口push

6. 最后在Bitbucket上可以看到提交内容

[git] 规范Commit格式的更多相关文章

  1. git的commit规范及强制校验

      1.背景 在多人协作项目中,如果代码风格统一.代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便. 先来介绍本人公司采用的commit规范 Commit message格式 < ...

  2. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  3. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)

    http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...

  4. spring boot / cloud (二) 规范响应格式以及统一异常处理

    spring boot / cloud (二) 规范响应格式以及统一异常处理 前言 为什么规范响应格式? 我认为,采用预先约定好的数据格式,将返回数据(无论是正常的还是异常的)规范起来,有助于提高团队 ...

  5. git撤销commit 并保存之前的修改

    撤销并保留修改 参数 –soft  # 先进行commit ,之后后悔啦  $ git commit -am "对首篇报告研究员字段改为author_name" 执行git log ...

  6. git 修改commit 的注释

    git 修改commit 的注释 一:最新的一次提交 当你不小心,写错了提交的注视/信息,该如何处理呢.理论上,SCM是不应该修改历史的信息的,提交的注释也是.    不过在git中,其commit提 ...

  7. 前端使用工具规范commit信息

    前言 通过工具规范git提交信息也是工程化的一部分,在前端领域有一些工具为我们提供了相关功能,在这里做一下使用总结. commitlint commitlint是什么? 就像eslint用来检查js代 ...

  8. PHP 代码规范、流程规范、git规范

    1. 命名规范 (1).变量命名规范 1.变量使用驼峰命名法 禁止使用拼音或者拼音加数字 2.变量也应具有描述性,杜绝一切拼音.或拼音英文混杂的命名方式 3.变量包数字.字母和下划线字符,不允许使用其 ...

  9. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  10. Git Merge Commit忘了选分支?数据丢失? 刚刚做的都丢失了?别急!

    1.打开终端,进入到对应的git 目录,也就是你的项目目录. 2.然后输入 git reflog,找到自己commit的版本 3.根据对应的编码输入指令,如:git checkout e53fa44( ...

随机推荐

  1. Linux命令 之 contrab

    crontab 命令是用来在linux平台上执行 定时任务的命令: 默认是在安装完操作系统之后,便会启动此任务的调度 crontab 会在每分钟检查是否有要执行的任务,如果有便会执行该任务:新建的cr ...

  2. swftools工具将pdf文件转换为swf文件 文字丢失

    开发客户网站时遇到了一个需求,客户要求后台上传pdf文件,前台能以翻书的形式直接访问. 首先想到的是使用js解决,用户访问前端页面时,php将文件路径发送给js,让js呈现出来翻书的效果.在网上百度了 ...

  3. 磊磊零基础打卡算法:day16 c++ Trie树

    5.19 Trie树: 用处:快速的查找和高效存储字符串集合的数据结构. 类似如此的查找,存储 其简单的两个操作:插入和删除 插入: void insert(char str[]) { int p; ...

  4. pip install keras==2.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

    pip install keras==2.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

  5. CSS3之伸缩布局

    一 主轴方向 在伸缩布局中, 默认伸缩项是从左至右的排版的 主轴的排版的方向默认就是row, 默认就是从左至右 1.默认情况下主轴是水平方向的, 但是也可以修改为垂直方向.只要看到flex-direc ...

  6. sourcetree 合并某部分代码到另一个分支

    1. 在sourceTree中找到需要修改的分支 2.  在显示提交信息中,选择所有分支,这样就会出现soy分支的修改信息 3.  找到需要合并的某次commit, 点击,右键出现弹框 4. 选择 & ...

  7. selenium 设置时区

    driver = webdriver.Chrome() tz_params = {'timezoneId': 'America/New_York'} driver.execute_cdp_cmd('E ...

  8. element中表格中对其解决方法:

    element中表格中对其解决方法: 一开始错位的表格的样式:​ 发现我们设置的align="center"居中没人用  后面是操作列里的按钮影响了它   直接把align里的属性 ...

  9. Spring设计模式——单例模式

    单例模式 单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点. 单例模式是创建型模式. 饿汉单例模式 饿汉单例模式在类的加载时候就立即初始 ...

  10. Gin使用及源码简析

    1. Gin简介 前面通过两篇文章分享了Golang HTTP编程的路由分发.请求/响应处理. Golang HTTP编程及源码解析-路由分发 Golang HTTP编程及源码解析-请求/响应处理 可 ...