git commit 规范

git commit 规范

在之前项目中已经开始使用 Git 作为版本控制工具了,但是在使用过程中较为随意,并没有注意规范问题,借此机会简单总结一下 git commit 时的 message(-m) 的编写。

仍需要说明的一点事 message 的编写本身并没有强制规范,因此以何种格式编写并非绝对,但是使用统一的规范有助于提高开发效率,特别是在协作的过程中;借助一些自动化工具也能够对文档编写起到辅助作用。

使用 Commitizen 辅助编写

Commitizen 可以辅助用户规范化 Git 的提交信息,它提供了一种交互式的方式来生成符合约定格式的提交信息,简化编写过程。这里提供一种使用 Angular 规范的方式。

安装与配置

使用 Commitizen 需要准备 Node.js 和 npm 环境,在此略过。

在命令行中键入以下命令进行全局安装:

npm install -g commitizen

在需要使用该工具的项目根目录下键入以下命令进行初始化:

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

之后在需要使用 git commit 时只需要执行 git cz 即可。

注意,Commitizen 是基于 Node.js 的,因此配置结束后会在根目录生成:

node_modules
package-lock.json
package.json

如果使用 git 时不希望对这三个文件进行追踪,则需要在根目录创建一个 .gitignore 文件,文件内容为:

node_modules
package*.json

使用方法

在键入 git cz 之后 Terminal 便进入了一个交互程序,根据提示可以快速创建一个符合规范的 git commit message。

这里作为实验随便写了一下:

alt text

基本的内容为:

  1. 选择本次修改的类型(修复bug、增加特性等等)
  2. 本次修改的影响范围
  3. 关于修改的短描述
  4. 关于修改的长描述
  5. 其他

简(wo)洁(bi)起(jiao)见(lan),这里不做详细介绍,具体可见参考资料 2 。

生成 Change Log

符合规范的 commit message 可以被快速解析,随后生成 change log。

首先安装 conventional-changelog-cli,(同样需要 Node.js 和 npm 环境)。

npm install -g conventional-changelog-cli

随后在项目目录下键入:

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

其中的 CHANGELOG.md 为目标文件名,可以根据需要进行修改。

git commit 频率

此前虽然也是遵循完成一个功能提交一次的基本原则,当往往是修改了许多小功能后才进行提交。
更正确的操作应该是修复或者完成一个小功能后就进行 commit,这样可以让项目更容易管理和追踪。

参考资料

  1. git commit 规范指南
  2. Commitizen:规范化你的 Git 提交信息
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇