首页 > 其他分享 >如果你的同事还不会配置commit提交规范,请把这篇文章甩给他

如果你的同事还不会配置commit提交规范,请把这篇文章甩给他

时间:2024-06-14 11:00:39浏览次数:23  
标签:git -- 同事 cz 篇文章 提交 commit commitlint

前言

首先问问大家在日常工作中喜欢哪种commit提交?

git commit -m "代码更新"

git commit -m "解决公共样式问题"

git commit -m "feat: 新增微信自定义分享"

如果你是第三种,那我觉得你肯定了解过commit提交规范,可能是刷到过同类文章也可能是在工作中受到的要求

我自己是在刚出来实习的一家公司了解到的,依稀记得“冒号要用英文的,冒号后面要接空格…”

虽然我一直保持这种习惯去提交代码,但是后面遇到的同事大部分都是放飞自我的提交,看的我很难受

因此这篇文章就教还不会配置的小伙伴如何配置被业界广泛认可的 Angular commit message 规范以及呼吁大家去使用。

先来了解下commit message的构成

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

对应的commit记录如下图

微信截图_20230608114515.png

  • type: 必填 commit 类型,有业内常用的字段,也可以根据需要自己定义

    • feat 增加新功能
    • fix 修复问题/BUG
    • style 代码风格相关无影响运行结果的
    • perf 优化/性能提升
    • refactor 重构
    • revert 撤销修改
    • test 测试相关
    • docs 文档/注释
    • chore 依赖更新/脚手架配置修改等
    • workflow 工作流改进
    • ci 持续集成
    • types 类型定义文件更改
    • wip 开发中
    • undef 不确定的分类
  • scope: commit 影响的范围, 比如某某组件、某某页面

  • subject: 必填 简短的概述提交的代码,建议符合 50/72 formatting

  • body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting

  • footer: 其他备注, 包括 breaking changes 和 issues 两部分

git cz使用

只需要输入 git cz ,就能为我们生成规范代码的提交信息。

一、安装工具

npm install -g commitizen // 系统将弹出上述type、scope等来填写
npm install -g cz-conventional-changelog // 用来规范提交信息

ps:如果你是拉取别人已经配置好git cz的项目,记得也要在自己环境安装

然后将cz-conventional-changelog添加到package.json中

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

微信截图_20230608155514.png

二、使用git cz提交

安装完第一步的工具后,就可以使用git cz命令提交代码了

微信图片_20230608092741.png

微信图片_20230608092732.png

如图,输入完git cz命令后,系统将会弹出提交所需信息,只需要依次填写就可以

commitlint使用

如果你不想使用git cz命令去提交代码,还是习惯git commit的方式去提交

那么接下来就教大家怎么在git commit命令或者vscode工具中同样规范的提交代码

一、安装工具

npm install --save-dev husky
npm install --save-dev @commitlint/cli
npm install --save-dev @commitlint/config-conventional

二、配置

  • 初始化husky
npx husky install
  • 添加hooks
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit \$1'
  • 在项目根目录下创建commitlint.config.js,并配置如下
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-case': [2, 'always', ['lower-case', 'upper-case']],
    'type-enum': [2, 'always',[
        'feat', // 增加新功能
        'fix', // 修复问题/BUG
        'style', // 代码风格相关无影响运行结果的
        'perf', // 优化/性能提升
        'refactor', // 重构
        'revert', // 撤销修改
        'test', // 测试相关
        'docs', // 文档/注释
        'chore', // 依赖更新/脚手架配置修改等
        'workflow', // 工作流改进
        'ci', // 持续集成
        'types', // 类型定义文件更改
        'wip', // 开发中
        'undef' // 不确定的分类
      ]
    ]
  }
}

三、验证

没配置前能直接提交

微信图片_20230608092753.png

配置之后就会规范提交

微信图片_20230608092757.png

总结

以上两种方式都很简单,几个步骤下来就可以配置好,希望大家都能养成一个开发好习惯~

标签:git,--,同事,cz,篇文章,提交,commit,commitlint
From: https://blog.csdn.net/weixin_43832950/article/details/131523198

相关文章

  • 一篇文章看懂Redission原理
    文章目录☃️可重入锁原理☃️锁重试和WatchDog机制☃️MutiLock原理上一篇文章讲解了Rediision的使用,这篇文章讲解其原理☃️可重入锁原理在Lock锁中,他是借助于底层的一个voaltile的一个state变量来记录重入的状态的,比如当前没有人持有这把锁,那么state=0,假如有人......
  • AI的杀手级应用会是一个“超级能干的同事”!RAG会造就超级智能么?
    什么是RAG技术RAG是一种结合生成模型和检索系统的技术。它通过检索相关信息并将其融入生成过程,使得模型不仅依赖内部训练数据,还能利用外部信息来提升回答的准确性和广度。RAG技术的核心在于将大规模预训练的语言模型与信息检索系统(如搜索引擎或数据库)有效结合,从而增强模型的知识......
  • AIGC绘画设计基础教学:一篇文章看懂AIGC基本概念
    在这个全新的时代,AIGC(ArtificialIntelligenceGenerativeContent,即人工智能生成内容)正在重新定义内容创作生态。当机器可以理解语言,艺术重新被定义,创意可以批量输出时,广告营销行业将迎来一场巨大的生产变革。本期内容中,我们将梳理24个AI的基础概念,带领大家全面了解AIGC。......
  • Auto Arena of LLMs: Automating LLM Evaluations with Agent Peer-battles and Commi
    1.引言大语言模型(LLMs)发展迅速,亟需可靠的评估方法。静态数据集存在污染风险,人工评估平台耗时费力。提出自动、可靠、可信的评估框架:Auto-ArenaofLLMs(Auto-Arena)。2.相关工作自动评估方法:静态数据集和基于模型的评估。人工评估平台:ChatbotArena,存在耗时和语言......
  • Redis面试题、知识点总结,一篇文章让Redis成为面试加分项
    Redis面试题、知识点总结,一篇文章让Redis成为面试加分项前言参与了几次中大厂的面试,你会发现一面时对于八股文的考察也具有侧重点(MySQL=Redis>网络>系统>设计模式>java集合>JVM>spring)本文的目标就是通过这一篇文章让你能在面试时将Redis相关的问题回答漂亮。......
  • 谁说.net core不好动态访问webservice?看这篇文章,C#快速实现动态访问webservice,兼容.ne
    前言:访问webservice,大多数人都是用服务引用的方式,但是这种方式比较麻烦,例如遇到服务更新了,你还需要手动更新你的服务引用,再重新发布,很麻烦。或者已有的一些例子,至少我看到的很多案例,动态访问也只能止步于使用.netframework环境,没看到有啥.netcore上面动态访问的案例。于是我就来......
  • 科技巨头的裁员潮:AI转型的代价是同事?
    哈喽,大家好,我是木头左,AI改变生活!随着2024年的到来,硅谷科技大厂裁员的消息如同潮水般涌来。谷歌、亚马逊甚至苹果公司,都传出了人员减员、部门关停的消息。对于硅谷大厂连绵不断的裁员,有分析指出,科技巨头竞争白热化,AI转型是一次成本巨大的押注,而这部分激增的成本,就会通过弱化甚至......
  • 一篇文章让你让你对python函数的掌握由基础到高级
    python中函数由低级到高级一函数基础1.1函数简介functioninputprint内置函数——》可以直接使用可复用性非常差函数就是存代码的总结函数的优点:1.遇到重复功能的时候,直接调用即可,减少代码量2.提升代码的结构性,分工明确,提高代码的可读性3.遇到扩展功能的时候,修......
  • 推荐一个专业的 JavaScript 中文转拼音的库,同事都在用,小巧好用上手快(带私活)
    背景在开发过程中,我们可能会遇到将中文汉字转换成拼音或者拿到我们的汉字的首字母、韵母等等之类的业务需求,自己写一套过于麻烦,所以需要一个库来快速实现,pinyin-pro正是这样一个小巧上手快的工具库,帮助你在业务中操作汉字拼音转换来去自如介绍pinyin-pro是一个专业的Ja......
  • 一篇文章学完Python基础知识
    一、数据类型和变量Python使用缩进来组织代码块,一般使用4个空格的缩进.使用#来注释一行,其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块.Python对大小写敏感.1.1整数Python可以处理任意大小的整数,包括负整数,写法与数学上写法一致,例如:-100.如果用......