git提交代码的步骤(git提交规范,规范自己的提交标准)
为了规范我的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文字长度默认是72 subjectLimit: 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的一个工具
 ,校验会出现两种结果:
如果符合规则:则会提交成功 。
如果不符合规则:它会自动执行 eslint --fix 尝试帮你自动修复,如果修复成功则会帮你把修复好的代码提交 ,如果失败 ,则会提示你错误 ,让你修好这个错误之后才能允许你提交代码。
修改 .husky/pre-commit 文件
#!/bin/sh . "$(dirname "$0")/_/husky.sh" npx lint-staged再次执行提交代码
发现 暂存区中 不符合 ESlint 的内容 ,被自动修复
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!