Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >git commit 规范

git commit 规范

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

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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Git】:Commit规范 + CHANGELOG生成
从 git commit 的 message 开始进行规范化(主流:angular 规范),进而可以通过工具(例如:conventional-changelog)把关键信息找出来,并自动生成到 CHANGELOG 中。
WEBJ2EE
2020/12/02
5.1K0
【Git】:Commit规范 + CHANGELOG生成
git commit 规范约束探索
今天看到同事的 commit message 很随意,我觉得不能再这么下去了。 于是我和朋友讨论了一下这件事和解决方案,感觉靠自觉还不如靠自动化检查。
不会跳舞的鸟
2022/11/16
4850
Commitizen 从0到1(git commit 规范工具)
commitizen git commit 格式化工具, 为我们提供标准化的 commit 信息。 帮助我们统一项目commit , 便于信息的回溯或日志的生成。# commit message 格式
copy_left
2021/07/01
1.4K0
别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。它的 message 格式如下:
Erwin
2020/02/11
1.1K0
编写优雅的 commit message 并自动生成 changelog
http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html
木子星兮
2020/09/07
2.6K1
编写优雅的 commit message 并自动生成 changelog
别乱提交代码了,看下大厂 Git 提交规范是怎么做的
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。
IT大咖说
2020/02/21
2.4K0
别乱提交代码了,看下大厂 Git 提交规范是怎么做的
还在用git commit -m 吗?Git 提交规范和自动产生changelog手摸手教程。
我们在使用一个比较厉害的框架或者库的时候,经常可以看到CHANGELOG.md,维护版本更新内容。
星宇大前端
2022/03/09
1.6K0
还在用git commit -m 吗?Git 提交规范和自动产生changelog手摸手教程。
commitlint 从0到1 (git commit 校验工具)
'https://github.com/conventional-changelog/commitlint/#what-is-commitlint',
copy_left
2021/07/01
1.6K0
【推荐】git commit 规范和如何在 commit 里使用 emoji
大家好,我是桃翁,今天给大家带来的是关于 git commit 那些事儿,希望大家喜欢。
桃翁
2021/09/09
2.4K0
【推荐】git commit 规范和如何在 commit 里使用 emoji
实际工作中 Git Commit 代码提交规范是什么样的?
Git 是我们日常工作中使用最为广泛的分布式版本代码控制系统,因此在我们的实际工作中,git commit 代码提交规范能够让每一次代码提交都变得有据可循,方便后续的代码审查、问题追踪和版本管理。同时,规范的提交信息也能够为自动化工具提供便利,如生成变更日志、自动化部署等。
追逐时光者
2025/05/18
3520
实际工作中 Git Commit 代码提交规范是什么样的?
git commit 规范及自动化
白墨石
2023/10/07
6080
Git提交信息规范化
message信息格式采用目前主流的Angular规范,这是目前使用最广的写法,比较合理和系统化,并且有配套的工具。
奋飛
2019/08/14
2.1K0
别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。它的 message 格式如下:
芋道源码
2020/02/10
1.2K0
git commit规范化实践
最近从svn转到git进行代码版本控制,今天了解了git commit规范化的一些知识后,写此文章记录下配置过程。
寻找石头鱼
2019/08/20
1.3K0
git commit规范化实践
使用 Commitizen 撰写 Angular 规范的 Commit Message
用 git cz -m 代替 git commit -m 就可以轻松的写出 Angular 规范的 commit message 了。
Theo Tsao
2018/09/07
7840
如何写好 Git commit messages
腾讯IVWEB团队
2017/03/13
2.7K0
你可能会忽略的 Git 提交规范
一直是 ESLint 的忠实用户,深知规范的重要性。然而,在新项目交接中,我被 Git Commit 规范逼疯了。才意识到自己的疏忽,于是便有了一探究竟的想法。
DevOps时代
2018/08/01
3710
你可能会忽略的 Git 提交规范
Commit message 和 Change log 编写指南
Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。 $ git commit -m "hello world" 上面代码的-m参数,就是用来指定 commit
ruanyf
2018/04/13
1K0
Commit message 和 Change log 编写指南
你可能已经忽略的git commit规范
在日常的开发工作中,我们通常使用 git 来管理代码,当我们对代码进行某项改动后,都可以通过 git commit 来对代码进行提交。
前端森林
2020/04/23
3.1K0
你可能已经忽略的git commit规范
让你的 commit 更有价值
AngularJS 在开发者文档1中关于 git commit 的指导说明,提到严格的 git commit 格式规范可以在浏览项目历史的过程中看到更易读的信息,并且能用 git commit 的信息直接生成 AngularJS 的 change log 。
陈大鱼头
2021/01/18
1.2K0
让你的 commit 更有价值
相关推荐
【Git】:Commit规范 + CHANGELOG生成
更多 >
LV.0
腾讯工程师
作者相关精选
交个朋友
加入云原生工作实战群
云原生落地实践 技术难题攻坚探讨
加入腾讯云技术交流站
洞悉AI新动向 Get大咖技术交流群
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档