为了规范我的git提交内容,提交的时候commit -m “备注的信息”,但是每个人的备注信息千奇百怪,为了统一,我们进行了git的规范。



首先要全局安装commitizen

npm i -g commitizen@4.2.4

然后安装插件

npm i cz-customizable@6.3.0 --save-dev

在package.json中添加代码

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

最后在根目录中添加一个文件 .cz-config.js

这里就可以做一个规范git提交的规则了

module.exports = {// 可选类型types: [{ value: 'feat', name: 'feat:     新功能' },{ value: 'fix', name: 'fix:      修复' },{ value: 'docs', name: 'docs:     文档变更' },{ value: 'style', name: 'style:    代码格式(不影响代码运行的变动)' },{value: 'refactor',name: 'refactor: 重构(既不是增加feature,也不是修复bug)'},{ value: 'perf', name: 'perf:     性能优化' },{ value: 'test', name: 'test:     增加测试' },{ value: 'chore', name: 'chore:    构建过程或辅助工具的变动' },{ value: 'revert', name: 'revert:   回退' },{ value: 'build', name: 'build:    打包' }],// 消息步骤messages: {type: '请选择提交类型:',customScope: '请输入修改范围(可选):',subject: '请简要描述提交(必填):',body: '请输入详细描述(可选):',footer: '请输入要关闭的issue(可选):',confirmCommit: '确认使用以上信息提交?(y/n/e/h)'},// 跳过问题skipQuestions: ['body', 'footer'],// subject文字长度默认是72subjectLimit: 72
}

在我们修改代码之后,使用git cz 代替git commit -m,然后就能描述自己的git提交的内容了


最后得到一个规范的git提示

最后直接提交git push origin master 就能看到git上的规范提交提示了

但是我们还有一个问题,如果我们的程序员忘了git cz 的提交规范该如何解决呢?

下面我们来介绍一下git Hooks


按下面的方式进行安装或者创建需要的插件和文件

npm install --save-dev @commitlint/config-conventional@12.1.4 @commitlint/cli@12.1.4

创建commitlint.config.js文件

module.exports = {// 继承的规则extends: ['@commitlint/config-conventional'],// 定义规则类型rules: {// type 类型定义,表示 git 提交的 type 必须在以下类型范围内'type-enum': [2,'always',['feat', // 新功能 feature'fix', // 修复 bug'docs', // 文档注释'style', // 代码格式(不影响代码运行的变动)'refactor', // 重构(既不增加新功能,也不是修复bug)'perf', // 性能优化'test', // 增加测试'chore', // 构建过程或辅助工具的变动'revert', // 回退'build' // 打包]],// subject 大小写不做校验'subject-case': [0]}
}

后面就是安装husky的插件,他可以检测commitlint的一个工具


![在这里插入图片描述](https://img-blog.csdnimg.cn/b39f9d882d574a7d96e6da1a4ac055be.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6K-l6LWw55qE5byv6Lev77yM5LiA5q2l6YO95LiN5Lya5bCR44CC,size_12,color_FFFFFF,t_70,g_se,x_16

1、安装husky

npm i husky@7.0.1 --save-dev

2、启动hooks

npx husky install

3、在package.json中加入一行代码,然后运行

npm set-script prepare "husky install"

4、

npm run prepare

5、
6、

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'



npx husky add .husky/pre-commit "npx eslint --ext .js,.vue src"



把package.json的lint-staged代码改成下面

"lint-staged": {"src/**/*.{js,vue}": ["eslint --fix","git add"]}

如上配置,每次它只会在你本地 commit 之前,校验你提交的内容是否符合你本地配置的 eslint规则(这个见文档 ESLint ),校验会出现两种结果:

  1. 如果符合规则:则会提交成功。

  2. 如果不符合规则:它会自动执行 eslint --fix 尝试帮你自动修复,如果修复成功则会帮你把修复好的代码提交,如果失败,则会提示你错误,让你修好这个错误之后才能允许你提交代码。

  3. 修改 .husky/pre-commit 文件

    #!/bin/sh
    . "$(dirname "$0")/_/husky.sh"npx lint-staged
  4. 再次执行提交代码

  5. 发现 暂存区中 不符合 ESlint 的内容,被自动修复

git提交规范,规范自己的提交标准相关推荐

  1. git gitee github等系列提交备注规范,提交规范(实用)

    git gitee github等系列提交备注规范,提交规范(实用) <新功能|bug修复|文档改动|格式化|重构|测试代码>: (影响范围) <主题> # 解释为什么要做这些 ...

  2. GL-HOOK-ERR: 本项目开启了commitlint检查,您的提交不符合规范,具体规则可以查看:http://commitlint.js.org/

    错两次了,记录一下 Enumerating objects: 298, done. Counting objects: 100% (298/298), done. Delta compression ...

  3. husky + lint-staged + commitizen 配置提交代码规范

    前言 又又又来了,依旧是接上文.虽然我们在项目中使用 ESLint 了,但是不能保证组员提交代码之前都将 ESLint 中的问题都解决掉了,所以我们还需要做一些限制,让没通过 ESLint 检测和修复 ...

  4. MindCV提交ISSUE规范

    MindCV提交ISSUE规范 MindCV仓库是基于MindSpore开发的机器视觉领域套件,提交issue是向项目开发者提出改进建议或反馈问题的一种方式.如果你想在MindCV仓库中提交issue ...

  5. Git常用命令和Git团队使用规范指南

    1. 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品--Git.它的出现改变了软件开发流程,大大地提高了开发流畅度,直到现在仍十分流行,完全没有衰退 ...

  6. Git 分支开发规范

    您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...

  7. git-cz 一款git commit 统一规范的工具

    git-cz 一款git commit 统一规范的工具 介绍:git commit 就是你在修改代码后写一个备注,如果安装了commitizen后,你可以使用git cz取代git commit,每次 ...

  8. Git分支管理规范和解析

    quick_start why_git 仓库和分支管理 远程和本地 origin远程仓库 本地仓库 分支管理 主分支master 主分支developdev 主分支releasetest 支持分支fe ...

  9. Git commit hook 规范标准配置

    Git每次提交代码都需要写commit message,否则就不允许提交.一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作--但是在日常开发中,大家的commi ...

  10. git基本使用规范 你真的会管理你的代码吗?

    项目 Git 使用规范 分支管理规范 1.1 分支说明和操作 master 分支 master 永远处于稳定状态,这个分支代码可以随时用来部署.不允许在该分支直接提交代码. develop 分支 开发 ...

最新文章

  1. !! javascript_产量! 产量! 生成器如何在JavaScript中工作。
  2. Py之jieba:Python包之jieba包(中文分词最好的组件)简介、安装、使用方法之详细攻略
  3. 一篇文章为你深度解析HTTPS 协议
  4. python学习第19天
  5. js 判断日期时间差
  6. C++ Under the Hood
  7. 我在用的浏览器插件利器
  8. iPads和iPhones的Media Queries(转载)
  9. zabbix(三)—— update
  10. 2021-05-22下载ts m3u8视频方法
  11. 高校学生就业管理系统
  12. java国际时间转换为北京时间
  13. java对pdf文件进行加密操作
  14. 最新阿里巴巴面试题合集附带答案,答对70%你也可以进阿里(天猫+蚂蚁金服+阿里巴巴)
  15. C语言-字符0、数字0和‘\0’的区别
  16. 大众点评数据分析报告
  17. sqlmap渗透实战进阶技巧
  18. 快应用上架时,你最关心的问题都在这里!
  19. raspberry pi到手,折腾成web服务器,加小小鄙视下网通
  20. Ai发展史(个人理解)梳理

热门文章

  1. 两个坚持是什么_赛客倾诉:没有爱情的婚姻还能坚持多久?3位过来人说出了实话...
  2. 【多端同步-学习类】考试周必备神器~小番茄工作法 合理安排每一天
  3. Linux中重定向输入和输出
  4. 程序开发小白需了解的一些概念
  5. RTX基于32位Windows实时操作系统
  6. [MYSQL]完犊子了,索引不生效了
  7. 青龙面板之九章油条(更新)
  8. 7-10 公路村村通 (30 分)
  9. BUUCTF 异性相吸
  10. tensorflow63 《深度学习原理与TensorFlow实战》03 Hello TensorFlow