别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

npm i -D husky @commitlint/config-conventional @commitlint/cli

Use yarn

yarn add husky @commitlint/config-conventional @commitlint/cli -D

com``mitlint只能做格式规范,无法触及内容。对于内容质量的把控只能靠我们自己。

3. 添加相应配置

创建commitlint.config.js

# In the same path as package.json

echo ‘module.exports = {extends: [“@commitlint/config-conventional”]};’ > ./commitlint.config.js

引入husky

7a641297b51d197fefdb3c6874cd0b7f.png

# package.json

…,

“husky”: {

“hooks”: {

“commit-msg”: “commitlint -e $GIT_PARAMS”

}

}

4. 使用

执行git cz进入interactive模式,根据提示依次填写

1.Select the type of change that you’re committing 选择改动类型 ()

2.What is the scope of this change (e.g. component or file name)? 填写改动范围 ()

3.Write a short, imperative tense description of the change: 写一个精简的描述 ()

4.Provide a longer description of the change: (press enter to skip) 对于改动写一段长描述 ()

5.Are there any breaking changes? (y/n) 是破坏性修改吗?默认n (

)

6.Does this change affect any openreve issues? (y/n) 改动修复了哪个问题?默认n (

)

生成的commit message格式如下:

(): 

填写完毕后,husky会调用commitlint对message进行格式校验,默认规定typesubject为必填项。

任何git commit指令的option都能用在 git cz指令上, 例如git cz -a

Commit message规范在rrd-fe落地使用情况


针对团队目前使用的情况,我们讨论后拟定了commit message每一部分的填写规则。推荐:Java进阶教程资料,公众号Java精选,回复Java面试,获取面试资料。

1. type

type为必填项,用于指定commit的类型,约定了featfix两个主要type,以及docs、style、build、refactor、revert五个特殊type其余type暂不使用。

# 主要type

feat:     增加新功能

fix:      修复bug

# 特殊type

docs:     只改动了文档相关的内容

style:    不影响代码含义的改动,例如去掉空格、改变缩进、增删分号

build:    构造工具的或者外部依赖的改动,例如webpack,npm

refactor: 代码重构时使用

revert:   执行git revert打印的message

# 暂不使用type

test:     添加测试或者修改现有测试

perf:     提高性能的改动

ci:       与CI(持续集成服务)有关的改动

chore:    不修改src或者test的其余修改,例如构建过程或辅助工具的变动

当一次改动包括主要type特殊type时,统一采用主要type

2. scope

scope也为必填项,用于描述改动的范围,格式为项目名/模块名,例如:node-pc/common rrd-h5/activity,而we-sdk不需指定模块名。如果一次commit修改多个模块,建议拆分成多次commit,以便更好追踪和维护。

3. body

body填写详细描述,主要描述改动之前的情况修改动机,对于小的修改不作要求,但是重大需求、更新等必须添加body来作说明。

4. break changes

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

0929627152787f54b462a184503b496f.png

5. affect issues

affect issues指明是否影响了某个问题。例如我们使用jira时,我们在commit message中可以填写其影响的JIRA_ID,若要开启该功能需要先打通jiragitlab。参考文档:docs.gitlab.com/ee/user/pro…

填写方式例如:

re #JIRA_ID

fix #JIRA_ID

示例


自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

  1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
  2. 项目经历:只写明星项目,描述遵循 STAR 法则;
  3. 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

[外链图片转存中…(img-hM4Vzk9m-1711901991319)]

[外链图片转存中…(img-QvoXF2Ak-1711901991320)]

[外链图片转存中…(img-RyMlDXIY-1711901991320)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 12
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码管理是一个好的习惯,良好的git提交代码规范可以让你的团队更好地管理代码。下面是一些有用的建议: 1.提交消息应该清晰,准确,描述改变发生的原因,不仅是改变的内容。使用短的摘要(50个字符以内)来描述改变,然后跟上更详细的说明(不超过72个字符)。这些说明应该解释为什么这个改变被出来,解释这个改变如何影响代码。 2.在分支上工作并提交(并合并)后,需要在提交信息中给出添加或从分支中移除的功能文件或功能,以及说明下你对其如何工作的看法。 3.在撰写提交信息时,避免使用语气过度积极的字眼,这并没有太大的意义。也不要让写作变得如此无聊,以至于没有人想读或理解什么你所说的。 4.提交流程应该清楚明了。需要保持一致和合理性。在一般情况下,对应的一个功能内容的所有变化将组成一个完整的提交。 5.提交信息的编写时间和更新时间应该与提交代码的时候相同。如果需要,说明何时开始编写提交信息,何时被更新等信息。 6.最后,不要忘记提交所有相关文件。如何选择是“提交所有”或是只定部分代码自动提交,要看使用的 git 服务软件、项目的复杂度等多种因素; 有时候你可能需要提交来自整个项目的所有更改,有时候则只需提交单个文件或更改的一小部分。根据你的工作流程,采取最佳法即可。 以上是一些关于git提交代码规范的有用建议,如果能在团队内建立好的规范,将会更加简化和加速开发流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值