Git提交规范是什么

技术Git提交规范是什么本篇内容介绍了“Git提交规范是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、为什么需要

本文介绍了“什么是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 规范的作用

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 提供更多的信息,方便排查与回退;

  3. 过滤关键字,迅速定位;

  4. 方便生成文档;

七、生成 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

(0)

相关推荐

  • alwayson只读节点数据文件的磁盘被写满该怎么办

    技术alwayson只读节点数据文件的磁盘被写满该怎么办本篇文章给大家分享的是有关alwayson只读节点数据文件的磁盘被写满该怎么办,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说

    攻略 2021年11月29日
  • 迷你图的散点图是什么

    技术sparklines的ScatterChart是什么本篇内容主要讲解“sparklines的ScatterChart是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“s

    攻略 2021年12月16日
  • 火车怎么读,以|A开头的火车, 应该怎样读?

    技术火车怎么读,以|A开头的火车, 应该怎样读?Z-直达特快列车T-特快列车K-快速列车N-管内快速列车(和K一个意思火车怎么读,咱们普通乘客不用特意区别)L、A-临时旅客列车Y-旅游列车没有字母的四位车次普通列车详细如

    生活 2021年10月29日
  • jquery浏览器怎么设置宽度(jquery设置等于浏览器的宽度)

    技术jquery如何求浏览器宽度小编给大家分享一下jquery如何求浏览器宽度,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月13日
  • 聚焦近义词,“均匀”的近义词是什么

    技术聚焦近义词,“均匀”的近义词是什么jūn yún[释义] (形)分布或分配在各部分的数量相同聚焦近义词,时间的间隔相等。
    均匀的近义词
    近义词:平均、恰当、匀和、匀称、均匀
    一、平均 píngjūn
    (1) 按份儿均

    生活 2021年10月30日
  • what引导的宾语从句,what引导宾语从句用法

    技术what引导的宾语从句,what引导宾语从句用法what引导宾语从句有:what引导宾语从句时在从句中作主语what引导的宾语从句、宾语或表语,表示“所……的……”;表示“……的时间”,相当于the time tha

    生活 2021年10月27日