commit message 书写规范参考

发布于 2023-11-18 04:34:13 字数 2767 浏览 40 评论 0

一、简介

commit message,也就是我们在向仓库提交代码的时候写得一句话,比如: git commit -m '提交新内容' ,理论上-m 后面你可以写任何你想要的内容,但是为了让别人知道你这次操作做了什么,还是需要规范一下内容,让别人看了提交信息大概知道你干了什么事情,这儿主要参考了阮一峰老师的 教程 ,教程里面主要是参考了 Angular 规范。

二、开始

这里先看看 message 的大致样子:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

关于各个参数的意义:

1、type,scope(可选),subject。

type 主要是说明 commit 的类型,目前符合 ng 规范的有如下几个:

  • feat: 表示新特性
  • fix: 表示修改问题
  • refactor: 表示重构(即不是新增功能,也不是修改 bug 的代码变动)
  • style: 表示修改代码样式,不影响功能。(不是说 css)
  • docs: 表示文档修改
  • test: 表示测试
  • chore: 表示构建过程或辅助工具的变动(比如构建流程, 依赖管理)

scope 是可选参数,表示 commit 影响的范围,比如:route、component、utils、build 等等。
subject 表示 commit 目的的简短描述,不超过 50 个字符。要求:

  • 以动词开头,使用第一人称现在时,比如 change,而不是 changed 或 changes
  • 第一个字母小写
  • 结尾不加句号(.)
    body表示 commit 具体修改内容, 可以分为多行。
    footer表示一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接。

注意:这儿在写 commit 的时候要求换行,记住在写 commit 的时候不要把引号直接成对写完了,否则敲回车并不会换行,应该先打一个引号写完所有内容后再闭合引号,然后回车就可以了!

2、使用工具来规范你的 commit

这儿关于配置也可以去官网看看 commitizen/cz-cli

首先我们需要安装两个东西,一个是 commitizen/cz-cli,这个是主要工具,我们还需要一个适配器 cz-conventional-changelog,这个适配器符合 angular 规范。

全局安装

npm install -g commitizen cz-conventional-changelog

全局模式下, 需要 ~/.czrc 配置文件, 为 commitizen 指定 Adapter。首先你需要在用户文件夹下见一个 .czrc 的文件(用户文件夹一般砸 C:\Users\你的用户名 ),打开 git bash,使用命令 touch .czrc 来建立一个文件,然后在目录下打开 cmd,执行以下命令:

echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

之后你再你的项目目录下使用 git cz 命令来代替 git commit 命令了

项目局部安装

npm install -D commitizen cz-conventional-changelog

然后需要在项目 package.json 中配置一下

"script": {
    ...,
    "commit": "git-cz",
},
"config": {
   "commitizen": {
     "path": "node_modules/cz-conventional-changelog"
   }
}

这里我测试了全局安装的效果,(这个地方我测试发现 git bash 不能使用上下箭头来选择选项,只有 cmd 运行才行-_-)如下图所示:

演示-2

当然你如果觉得 angular 的配置不符合自己或者团队的习惯,还可以自定义,这里不再赘述,大家可以参考这篇文章: 优雅的提交你的 Git Commit Message

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

清晨说晚安

我之所以活到现在的全部意义,是为了此刻能对你说,我爱你,我会在你身后永远守护你。

文章
评论
21962 人气
更多

推荐作者

qq_aHcEbj

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

把昨日还给我

文章 0 评论 0

wj_zym

文章 0 评论 0

巴黎夜雨

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文