如何优雅提交 Git Commit Message

文章介绍了如何按照Angular团队的规范编写Gitcommitmessage,包括类型(feat,fix等)、主题、正文和脚注。推荐使用commitizen工具来规范化提交信息,并可通过cz-customizable自定义适配器。此外,文章还提到了commitlint用于校验message,以及husky用于设置Git钩子,确保commit消息遵循预设规范。
摘要由CSDN通过智能技术生成

Message 规范

那么如何能优雅而又不失体面的提交你的代码呢?其实我们的 git commit message 是应该具备一些规范的。目前规范用的比较多的是 Angular 团队的规范

message 样例:

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

    :必须是下列之一

    • feat:一个新功能
    • fix:bug修复
    • docs:编辑文档
    • style:不影响代码含义的更改(空格、格式、缺少分号等,不是css的更改)
    • refactor:既不修复bug也不添加特性的代码更改
    • perf:提高性能的代码更改
    • test:添加缺失的或纠正现有的测试
    • chore:对构建过程或辅助工具和库(如文档生成)的更改
  • Subject:主题包含对变更的简洁描述

  • Body:具体的修改内容,可以包括与之前的对比

  • Footer:通常是 BREAKING CHANGE 或修复的 issue 链接

规范工具

简介

commitizen git commit 格式化工具, 为我们提供标准化的 commit 信息。 帮助我们统一项目commit , 便于信息的回溯或日志的生成。# commit message 格式

commitizen 只是提供一个commit 格式化或交互工具, 最终需要输出符合 commit 规则的信息给 git, 所以需要线了解 commit 格式规则

安装

npm install -D commitizen cz-conventional-changelog

package.json中添加

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

自定义 Adapter

如果 Angular 的规范不符合我们的实际,同样我们也可以通过 cz-customizable 定制一套符合自己或者团队的规范。

npm install -D cz-customizable

同时package.json需要修改

"config": {
  "commitizen": {
    "path": "node_modules/cz-customizable"
  }
}

之后对应项目目录下创建 .cz-config.js 文件,用来维护自己的格式

官网中有对应的样例配置文件:cz-customizable/cz-config-EXAMPLE.js at master · leoforfree/cz-customizable · GitHub

校验 Message

工具:

可以做到如果不符合校验规范,就会直接拒绝 commit 请求

安装
# Angular 团队的规范
npm install -D @commitlint/config-conventional @commitlint/cli
# 自定义规范
npm install -D commitlint-config-cz @commitlint/cli
配置文件

在项目目录下创建配置文件 .commitlintrc.js

Angular 团队的规范

module.exports = {
  extends: [
    ''@commitlint/config-conventional''
  ],
  rules: {
  }
};
自定义规范
module.exports = {
  extends: [
    'cz'
  ],
  rules: {
  }
};

Husky

在做前端工程化时husky可以说是一个必不可少的工具。husky可以让我们向项目中方便添加git hooks。

官方链接:typicode/husky: Git hooks made easy 🐶 woof! (github.com)

安装
npm install -D husky
配置

package.json中添加:

"husky": {
    "hooks": {
      ...,
      "commit-msg": "commitlint -e $GIT_PARAMS"
    }
  },

或者在 .huskyrc 文件中

{
  "hooks": {
    ...,
    "commit-msg": "commitlint -e $GIT_PARAMS"
  }
}
git commit message helper是一个辅助工具,用于帮助我们编写更好的git提交信息。 在进行版本控制时,我们通常会使用git进行代码管理,并且会通过提交(commit)来记录每次的修改。一个好的提交信息可以让其他人更容易理解我们做了哪些修改以及修改的原因。 git commit message helper可以提供以下功能: 1. 提供格式规范:git commit message helper可以为我们提供一份提交信息的格式规范。这样,在编写提交信息时,我们可以按照这个规范来进行,以遵循一致的风格。 2. 提示关键信息:git commit message helper可以通过自动补全或显示相关选项来提示我们填写关键信息。比如,当我们输入某个关键词时,它可以自动给出一些常见的选项供我们选择,以避免遗漏重要信息或填写错误。 3. 语法检查:git commit message helper可以帮助我们进行提交信息的语法检查。它可以检查是否符合规范,是否存在拼写错误等,从而提供更准确的提交信息。 4. 快捷操作:git commit message helper可以提供一些快捷操作,以便更方便地编写提交信息。比如,可以设置快捷键或命令来快速填写某些常用的信息,如修改的模块、bug修复等。 总而言之,git commit message helper是一个实用工具,可以帮助我们编写更好、更准确的提交信息。它不仅可以提高版本控制的效率,还有助于团队合作和代码维护的规范性。使用这个工具可以在一定程度上提高代码开发和管理的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白木Channel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值