当前位置: 首页 > news >正文

做云教育集群网站seo搜索排名优化公司

做云教育集群网站,seo搜索排名优化公司,wordpress数据库写什么,wordpress html5 视频一. 概述 前面咱们整理过 Code Review 一文,提到了 Review 的重要性,已经同过gitlab进行CodeReview 的方式,那么本文详细说明一下对CodeReivew非常重要的Git Commit Message 规范。 我们在每次提交代码时,都需要编写 Commit Mes…

一. 概述

前面咱们整理过 Code Review 一文,提到了 Review 的重要性,已经同过gitlab进行CodeReview 的方式,那么本文详细说明一下对CodeReivew非常重要的Git Commit Message 规范。

我们在每次提交代码时,都需要编写 Commit Message,否则是不允许提交的。书写好的 Commit Message 能大大提高代码维护的效率。避免开发人员在项目中群魔乱舞,搞得代码一团糟,搞的项目就被糟践了。且开发日后的维护,都将是灾难。

因此,编写Commit Message需要遵循一定的范式,内容应该清晰明了,指明本次提交的目的,便于追踪问题。往往在日常开发中由于缺少对Commit Message的约束,导致填写内容随意,可读性低亦难以维护。今天“知识整理”就带大家一起来学习下Commit Message约束,希望对大家的工作有所帮助,大家觉得好的话,不要忘记给点个赞!受人玫瑰,手有余香。

二. 约束Commit规范的目的

统一团队 Git commit Message约束标准,便于后续代码Code Review,版本发布等。

统一团队 Git 工作流,包括分支使用规则、TAG 规范、ISSUE 等。

提供更多的信息,指明本次提交的目的,便于追踪问题,方便排查与决策。

通过过滤关键字,可以进行问题快速定位。提高工作效率

通过工具方便快速生成必要的文档。

三. 规范详细说明

Commit Message 的格式

大致分为三个部分 (使用空行分割):

  1. 标题行:必填,描述主要修改类型和内容
  2. 主题内容:描述为什么修改,做了什么样的修改,以及开发的思路等等
  3. 页脚注释:说明 Breaking Changes(中断更改) 或 Closed Issues(已解决的问题)

每次提交,Commit Message 都包括三个部分:Header,Body 和 Footer。

# EN
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
# CH
<类型>[可选的作用域]: <描述>
// 空一行
[可选的正文]
// 空一行
[可选的脚注]

Commit Message 提示说明

# 标题行 类型(影响范围):50个字符以内,描述主要变更内容
# 空一行
# 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
# * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
# * 他如何解决这个问题? 具体描述解决问题的步骤
# * 是否存在副作用、是否会有风险? 
# 空一行
# 尾部:是需要的化可以添加一个链接到issue地址或者其它文档,或者是关闭了某个issue。

示例

// 示例1
fix(global):修复checkbox不能复选的问题
// 示例2 圆括号里的 common 为通用管理的名称
fix(common): 修复字体过小的BUG,将通用管理下所有页面的默认字体大小修改为 14px

1、格式拆解 Header

Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。

Header 里 type 部分

type为必填项,用于指定commit的类型,约定了featfix两个主要type,以及docsstylerefactortestchore、五个特殊type其余type扩充buildperfcirevert,也可以根据公司特殊要求做对应的扩展。

主要:

  • init: 代码初始化
  • feat:新功能(feature)
  • fix:修复bug

特殊:

  • refactor:重构(代码重构时使用、不是新增功能,也不是修改bug的代码变动,代码重构,未新增任何功能和修复任何bug)
  • docs:文档(documentation)修改,只改动了文档相关的内容
  • style:格式(不影响代码含义的改动,例如去掉空格、改变缩进、增删分号)
  • test:添加测试或者修改现有测试
  • chore:构建过程或辅助工具的变动、不修改src或者test的其余修改

扩充:

  • build:改变构建流程,新增依赖库、工具、构造工具的或者外部依赖的改动,例如webpack,npm
  • perf:提高性能的改动
  • ci:自动化流程配置修改、与 CI(持续集成服务)有关的改动
  • revert:回滚到上一个版本,执行git revert打印的message

Header 里 scope

scope 也为选填项,用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同,格式为项目名/模块名。

如果你的修改影响了不止一个 scope,你可以使用*代替。

例如:global、common、http、* 、数据库等等,记得加上括号

Header 里 subject

subject是 commit 目的的简短描述,不超过50个字符。

示例:

feat(*): 添加网站主页静态页面这是一个示例,假设对点检任务静态页面进行了一些描述。这里是备注,可以是放BUG链接或者一些重要性的东西。

2、格式拆解 Body

Body 填写详细描述,主要描述改动之前的情况及为啥修改,对于小的修改不作要求,但是重大需求、更新等必须添加 body 来作说,可以分成多行进行详细说明。

填写要求:

  1. 要以动词开头,使用第一人称现在时,比如change,而不是changed或changes
  2. 第一个字母小写
  3. 结尾不加句号(.)

示例

# body: 对2个文件整体修改,解决这回答:
# *为什么需要进行此更改?
# *它是如何解决这个问题的?
# *是否有任何副作用?
# 初始提交

3、格式拆解 Footer

不兼容变动(break changes)

break changes 指明是否产生了破坏性修改,涉及break changes的改动必须指明该项,类似版本升级、接口参数减少、接口删除、迁移等。

闭 Issue(affect issues)

affect issues 指明是否影响了某个问题。例如使用于的项目管理系统的唯一ID,在commit message中可以填写影响的jira_id,若要开启该功能需要先打通jiragitlab

四、Vscode 集成

首先需要去 Vscode 插件市场搜索 git-commit-plugin 并且进行安装。安装完之后可以使用组合键 Command + Shift + P 呼出 指令行,并键入指令 show git commit template 或者点击 git 插件栏上的小图标唤醒插件界面。根据自己当前提交所要表达的意义,选择对应的 type 类型去编写 commit 信息。


五、其他功能插件补充

1、commitizen插件

commitizen是一款可以交互式建立提交信息的工具,可以自动生成合格的commit message

$ npm install -g commitizen
# OR
$ yarn global add commitizen

在项目根目录下运行命令

$ commitizen init cz-conventional-changelog --save --save-exact

在提交的时候就可以使用 git cz 就可以根据提示,生成自动化的 commit message

使用commitizen时,首先通过上下键控制指向你想要的 type 类型,分别对应有上面提到的feat、fix、docs、perf等,然后会让你选择本次提交影响到的文件,后面会让你分别写一个简短的和详细的提交描述,最后会让你去判断本次提交是否是BREAKING CHANGE或者有关联已开启的issue。最后,当时查看提交历史时,你会看到这样的commit message:

2、validate-commit-msg插件

commitizen 可以保证自己本地的commit message规范,但是无法保证队友也是规范的,所以需要其他工具来检测队友的提交记录是否规范。使用validate-commit-msg 检查队友的commit message规范

#安装
$ npm install validate-commit-msg husky -D#添加package.json文件配置
"husky": {"hooks": {"commit-msg": "validate-commit-msg"}
}#自定义校验格式(可选)
#添加一个.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
}#提交
#示例:git commit -m 'feat(main.js): 添加路由'

3、changelog插件

changelog是生成changelog的工具,在安装之前请确保安装Nodecommitizen

安装

$ npm install -g conventional-changelog 
#OR  
$ yarn global add conventional-changelog
$ npm install -g conventional-changelog-cli 
#OR  
$ yarn global add conventional-changelog-cli

1、conventional-changelog 安装

npm install -g conventional-changelog-cli
# 生成 CHANGELOG.md ,并覆盖掉以前的内容
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
# 生成所有发布的 Change log
conventional-changelog -p angular -i CHANGELOG.md -w -r 0

2、注意事项

conventional-changelog -p angular -i CHANGELOG.md -w

只能在命令行中 log 出 CHANGELOG.md 的内容,不会生成文件,如果要生成文件需要使用 conventional-changelog -p angular -i CHANGELOG.md -s 更多的 config 可以使用 conventional-changelog --help 查看

使用

1、执行以下指令检验上面两个工具是否安装成功

$ npm ls -g -depth=0

2、运行下面命令,使其支持Angular的Commit message格式

commitizen init cz-conventional-changelog --save --save-exact

注意: 因为commitizen工具是基于Node.js的

参考:前端知识点:git commit规范 - 知乎 (zhihu.com)

http://www.wangmingla.cn/news/76663.html

相关文章:

  • 高职两学一做专题网站百一度一下你就知道
  • 做网站前端代码网络媒体发稿平台
  • 大兴建设网站app推广平台有哪些
  • wordpress博客亚马逊广告上海快速排名优化
  • 专业做公司logo的网站seo关键词优化排名哪家好
  • notefolio设计官网seo免费课程
  • 上海市住房和城乡建设厅网站查询百度账户托管运营
  • html网页超链接代码手机seo关键词优化
  • 全国前十装饰公司排名sem优化软件选哪家
  • 沈阳工程就业信息网seo在线优化平台
  • 竞网做的网站怎么样长沙百度网站排名优化
  • 沈阳定制网站贵阳百度seo点击软件
  • 网站建设分为那几个模块今日广州新闻头条
  • 微信公众号制作网页长沙seo咨询
  • 更改网站备案app拉新接单平台
  • 企业网站建设规划书手机百度如何发布作品
  • 毕业设计动漫网页设计seo网站推广的主要目的不包括
  • 行业网站建设公司快速建站哪个平台好
  • 网站怎么做交易平台吉林seo基础知识
  • 企业门户网站模板分享阿里指数官网最新版本
  • 苏州专业做网站的公司深圳招聘网络推广
  • 做网站能接到模具单吗seo智能优化公司
  • 企业网站开发协议百度热点排行榜
  • web软件设计专业seo挂机赚钱
  • 网站建设哪家好?看这里seo网站自动推广
  • 徐州网站推广优化如何快速优化网站排名
  • wordpress作企业网站好吗seo推广软件怎样
  • 烟台城乡住房建设厅网站网页设计首页制作
  • 做装修设计的网站曼联目前积分榜
  • 导航网站分析东莞网络营销推广专业