本文介绍了“什么是Git提交规范”的相关知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
一、为什么需要规范?
没有规则造就方圆,编程也是如此。
如果你有一个项目,你从头到尾都是自己写的,那你想写什么就写什么,没有人能干涉你。然而,如果每个人都在团队合作中表现出自己的个性,代码就会一团糟,好的项目也会毁于一旦。无论是开发还是未来维护,都将是一场灾难。
这时,有人提出为什么不统一标准,大家都遵循了这个标准。于是,ESLint、JSHint等代码工具雨后春笋般涌现,成为项目建设必不可少的产品。
Git Commit规范可能没有那么夸张,但是如果在版本回滚的时候看到很多不好的Commit,恐怕会被惹恼。因此,严格遵守规范,造福他人。
二、具体规则
我们先来看看公式:
类型(范围):项目type
用于描述提交的类别。只允许以下七种身份。
专长:新功能
修复:修复
错误文档:文档
样式:格式(不影响代码操作的更改)
重构:重构(也就是说,它不是一个新的函数或修改bug的代码变更)
测试:添加测试
杂务:施工过程或辅助工具的变化。
scope
用于说明提交影响的范围,如数据层、控制层、视图层等。因项目而异。
subject
是对提交目的的简短描述,不超过50个字符。
鸿蒙系统正式战略合作,打造——HarmonyOS技术社区。
以动词开头,用* * *人称现在时,如change,而不是changed或changes。
* * *小写字母
不带句点(。)结尾。
三、异常处理
我们先来看看这个不正常的提醒:
invalidcommitmsg : doesnotmatch ' type(作用域):subject '!Jartto:fixbug在此报告了此警告,因为我提交的内容中有两个问题:
首先,使用规范之外的关键词;
其次,这是一个非常详细的问题,jartto:后面的空间比较少;
这时我才想起提交一直失败,被迫匆忙直接提交,所以以后提交会带来这个异常。大致意思是:
您以前的提交失败~您以前的提交失败~您以前的提交失败
这个时候,就很烦了。我们只能纠正以前的错误,那么如何操作呢?
四、如何修改之前的 commit 信息?
其实并不复杂。我们只需要这么做。
1.暂时存储当前分支的无关工作状态。
Gitstash2。将HEAD移动到要修改的提交。
git rebase 9633 cf 0919-interactive 3。找到需要修改的提交,更改第一行的选择进行编辑。
4.开始解决你的bug。
5.git add将更改文件添加到临时存储中。
6、git提交ndash修改追加更改以提交
7、git rebase ndash继续将HEAD移回* * *
8.恢复以前的工作状态。
Gitstashpop完成,要不要修改整个Commit然后跑路~
五、项目中使用
这时,问题又来了,
为什么我提交的时候会有警告,这个又是如何做到的呢?
这时候,我们需要一款 Node 插件 validate-commit-msg 来检查项目中 Commit message 是否规范。
1.首先,安装插件:
npm install --save-dev validate-commit-msg
2.使用方式一,建立 .vcmrc 文件:
{ "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"], "scope": { "required": false, "allowed": ["*"], "validate": false, "multiple": false }, "warnOnFail": false, "maxSubjectLength": 100, "subjectPattern": ".+", "subjectPatternErrorMsg": "subject does not match subject pattern!", "helpMessage": "", "autoFix": false }
3.使用方式二:写入 package.json
{ "config": { "validate-commit-msg": { /* your config here */ } } }
4.可是我们如果想自动使用 ghooks 钩子函数呢?
{ … "config": { "ghooks": { "pre-commit": "gulp lint", "commit-msg": "validate-commit-msg", "pre-push": "make test", "post-merge": "npm install", "post-rewrite": "npm install", … } } … }
在 ghooks 中我们可以做很多事情,当然不只是 validate-commit-msg 哦。
更多细节请参考:validate-commit-msg
六、Commit 规范的作用
-
鸿蒙官方战略合作共建——HarmonyOS技术社区
-
提供更多的信息,方便排查与回退;
-
过滤关键字,迅速定位;
-
方便生成文档;
七、生成 Change log
正如上文提到的生成文档,如果我们的提交都按照规范的话,那就很简单了。生成的文档包括以下三个部分:
-
New features
-
Bug fixes
-
Breaking changes.
每个部分都会罗列相关的 commit ,并且有指向这些 commit 的链接。当然,生成的文档允许手动修改,所以发布前,你还可以添加其他内容。
这里需要使用工具 Conventional Changelog 生成 Change log :
npm install -g conventional-changelog cd jartto-domo conventional-changelog -p angular -i CHANGELOG.md -w
为了方便使用,可以将其写入 package.json 的 scripts 字段。
{ "scripts": { "changelog": "conventional-changelog -p angular -i CHANGELOG.md -w -r 0" } }
这样,使用起来就很简单了:
npm run changelog
“Git提交规范是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/83251.html