前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git commit 规范

git commit 规范

原创
作者头像
jaykan
修改2020-03-15 19:23:14
1.8K0
修改2020-03-15 19:23:14
举报
文章被收录于专栏:技术-分享

1. 为什么需要commit规范

a)提供更多的历史信息,方便快速浏览和项目接入以及交接

b)可以过滤某些commit(比如文档改动),便于快速查找信息

c)可以直接从commit生成Change log(需要工具支持)

2. 配置git commit提交模板

目前git commit规范使用较多的是Angular 团队的规范

模板格式:

<type>(<scope>): <subject>

<空行>

<body>

<空行>

<footer>

具体字段解释参考:

https://www.conventionalcommits.org/zh-hans/v1.0.0-beta.4/

2.1 手工配置方法

a)首先将下面内容拷贝至:~/.git-commit-template

# Type(<scope>): <subject> # <body> # <footer> # type 字段包含: # feat:新功能(feature) # fix:修补bug # docs:文档修改(documentation) # style: 代码格式修改(不影响代码运行的变动) # refactor:代码重构(即不是新增功能,也不是修改bug的代码变动) # test:测试用例修改 # chore:其他修改, 比如构建流程, 依赖管理,或辅助工具的变动 # # scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等。 # # subject是 commit 目的的简短描述,不超过50个字符 # # Body 部分是对本次 commit 的详细描述,每行不超过70个字符,可以分成多行 # 50/70规则参见: # https://stackoverflow.com/questions/2290016/git-commit-messages-50-72-formatting # # Footer用来关闭 Issue或以BREAKING CHANGE开头,后面是对变动的描述、 # 以及变动理由和迁移方法 # # 关于git commit常用规范简单介绍,参见这里 #https://www.conventionalcommits.org/zh-hans/v1.0.0-beta.4/

b)配置git template:

git config --global commit.template ~/.git-commit-template

c) 提交代码,按照模板填写commit

git commit

2.2 简单例子

commit时按模板填写,注意空行

提交完成后git log查看

以上就完成了git commit提交规范的手工配置,如果希望在提交时自动按提示完成commit输入,则参考下面第3小节

3. git commit自动化工具

目前比较流行的工具是commitizen:

https://github.com/commitizen/cz-cli

安装过程如下:

3.1 安装升级node版本

ubuntu安装node和npm,其他系统类似:

apt install nodejs-dev

apt install npm

commitizen需要node版本>8.0,满足要求的跳过。ubuntu升级最新稳定版方法如下:

npm cache clean -f

sudo npm install -g n

sudo n stable

3.2 安装配置commitizen

a)安装

npm install -g commitizen

b)配置项目初始化package.json

进入git项目根目录,执行

npm init --yes

c)配置Angular规范的Commit message

commitizen init cz-conventional-changelog --save --save-exact

3.3 commit测试

安装完成之后,当需要git commit的时候换成 git cz 即可,commitizen 会按照规范提示commit msg的书写。例如:

3.4 安装changelog工具

changelog工具用于根据argular规范的commit message生成项目changlog文档

安装如下2个工具:

npm install -g conventional-changelog

npm install -g conventional-changelog-cli

当完成commit之后,使用如下命令生成changelog

conventional-changelog -p angular -i CHANGELOG.md -s

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 为什么需要commit规范
  • 2. 配置git commit提交模板
    • 2.1 手工配置方法
      • 2.2 简单例子
      • 3. git commit自动化工具
        • 3.1 安装升级node版本
          • 3.2 安装配置commitizen
            • 3.3 commit测试
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档