美文网首页
commitlint+husky规范git commit日志

commitlint+husky规范git commit日志

作者: GeekSpring | 来源:发表于2019-05-11 22:02 被阅读0次

本文从浅入深的介绍整个commitlint+husky规范commit日志的使用,先介绍如何时候,最后部分讲解原理。

为什么需要规范commit日志?

1、commit message 是程序员开发的日常操作, 但是实际工作中却常常被大家忽略

2、目前commit message 处于五花八门的书写风格,十分不利于阅读和维护

3、优秀的互联网科技公司都有一套代码提交规范,尤其是在一些大型开源项目中,commit message 都是十分一致

规范commit日志的好处

1、团队形成一致的代码提交风格,更好的提高工作效率

2、规范的 commit message 有助于团队其它人员 review, 还可以有效的输出 CHANGELOG, 对项目十分重要

3、成为一名有追求的工程师

安装步骤

1、环境准备:安装node环境,从Node.js官网(https://nodejs.org/en/)下载对应平台的安装程序,终端执行命令 node -v 和 npm -v 可以查看安装的node,npm的版本号,出现如下即成功。

2、commitlint、husky安装

步骤一:创建默认package.json文件、进入项目目录,右键git bash here,运行命令:npm init -y,,此时项目目录就出现了package.json文件。

步骤二:初始化package.json文件内容,运行命令:npm init,按照提示输入内容即可,生成如下内容。

{

  "name": "commitlint-husky",

  "version": "1.0.0",

  "description": "commitlint",

  "main": "index.js",

  "directories": {

    "doc": "doc"

  },

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "repository": {

    "type": "git",

    "url": "http://10.10.8.201/caxs/caxs-artemis.git"

  },

  "keywords": [],

  "author": "geekspring",

  "license": "ISC",

步骤三:安装commitlint插件

命令:

npm install --save-dev @commitlint/cli @commitlint/onfigconventional @commitlint/config-angular

步骤四:安装husky

命令:npm install --save-dev husky

在package.json中添加husky

"husky": {

    "hooks": {

      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"

    }

  }

步骤五:安装changelog插件,方便查看changlog日志文件

命令:npm install --save-dev conventional-changelog-cli

在package.json文件中添加changlog命令,方便查看

"scripts": {

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

  }

到此就安装完毕啦。

规则使用

方式一:使用angular团队的规则,在项目目录下创建commitlint.config.js文件,加入如下配置即可:

module.exports = {extends: ['@commitlint/config-angular']};

方式二:自定义规则文件内容,创建commitlint.config.js文件,加入如下配置:

rule配置说明:

rule由name和配置数组组成

1、数组中第一位为level,可选0,1,2,0为disable,1为warning,2为error

2、第二位为应用与否,可选always|never

3、第三位该rule的值

使用效果图

错误示例:

正确示例:

查看changlog日志,根据配置的命令 npm  changelog

原理介绍

commitlin介绍

目前国内外规范使用较多的是 Angular 团队的规范, 目前规范参考Angular 团队比较多。直接看如下参考资料很详细。

参考资料:

https://blog.csdn.net/y550918116j/article/details/81214746

https://www.npmjs.com/package/@commitlint/config-angular

https://blog.csdn.net/peterxiaoq/article/details/76144288

husky介绍:

      husky 是一个为 git 客户端增加 hook 的工具。

      在.git/ 目录下增加husky钩子,在 pre-commit 阶段自动执行保证每一个 commit 的commit message的正确性

追根溯源:

git对提交的内容会校验,校验主要分为:

    1、 服务端pre-receive钩子

    2、客户端的pre-commit钩子

    客户端的pre-commit钩子验证提高服务端的钩子验证效率,可以理解为:

服务端的pre-receive钩子:后端验证

客户端的pre-commit钩子:前端验证

前端验证的效率高于,将所有的验证都放在后端,故此,在pre-commit处增加了husky钩子

钩子判断坏的commit 会被拒绝在本地,本地只能将钩子可以通过的代码提交到中心仓库。


相关文章

  • commitlint+husky规范git commit日志

    本文从浅入深的介绍整个commitlint+husky规范commit日志的使用,先介绍如何时候,最后部分讲解原理...

  • 使用 git hook 规范 Android 项目

    引言 本文所说的『规范』包含两个部分 git commit 是注释的规范 git commit 时对代码规范的检查...

  • Git commit日志基本规范

    Git commit日志基本规范 对格式的说明如下: type代表某次提交的类型,比如是修复一个bug还是增加一个...

  • git commit规范

    git commit规范 git-commit规范 在多人协作项目中,如果代码风格统一、代码提交信息的说明准确,那...

  • Mac husky commit 流程以及提交代码时husky不

    由于项目中一直未能规范提交日志,导致提交的的东西乱七八糟的,所以决定使用commitlint+husky 来规范 ...

  • gitflow 规范及工具整理

    gitflow 进阶规范 git cz 通过工具 git-cz 规范 git commit 提交信息。 使用 gi...

  • GIT 规范

    git 规范 git 规范一般包括两点:分支管理规范和 git commit 规范。 分支管理规范 一个项目可以创...

  • 日志和代码规范网文

    日志规范 惊讶!我定的日志规范被CTO在全公司推广了 Git 分支设计规范 git规范 Git分支设计规范

  • git操作

    git规范 Git 使用规范流程 团队中的 Git 实践 Git: 教你如何在Commit时有话可说 Git工作流...

  • Git Commit message(Angular规范)

    Git Commit message(Angular规范) Commit message 的格式 1. Heade...

网友评论

      本文标题:commitlint+husky规范git commit日志

      本文链接:https://www.haomeiwen.com/subject/hwzcaqtx.html