定义

在 git 代码提交的时候,我们需要对 git 的提交信息做出一定的约定或者规范。为什么会有这样的需求?因为 git 提交时的描述信息,需要在你的合作开发者之间共享,所以大多数情况下 git 提交信息并不只能被你一个人明白。于是就诞生了约定式提交这样的规范。

业内普遍认可的的约定式提交规范,为 约定式提交 (Conventional Commits)。

约定式提交规范 Conventional Commits 是一种用于给提交信息增加人机可读含义的规范,是基于提交信息的轻量级约定,提供了一组用于创建清晰的提交历史的简单规则。

它可以利用几组简单的规则来创建清晰的提交历史,这样更有利于编写自动化工具和创建更加结构化的提交历史。

它提供的简单提交说明结构如下:

<类型>([可选的作用域]): <描述>[可选的正文][可选的脚注]

使用

使用的时候,通常遵循以下几个步骤:

// 选择一个提交的类型
1. select the type of change that you're committing// 更改影响的范围,可不填;如果使用,需要加上()包裹
2. What is the scope of this change (e.g. component or file name): (press enter to skip)// 简短的描述,使用英文半角冒号+空格隔开
3. Write a short, imperative tense description of the change (max 88 chars)// 具体描述
4. rovide a longer description of the change: (press enter to skip)// 是否有破坏性的更改,如果是,则使用 BREAKING CHANGE 标注提交信息
5. Are there any breaking changes?// 是否有关联性的问题
6. Does this change affect any open issues?

提交的时候,选择的类型通常有以下几种:

feat 表示新增了一个功能

`fix 表示修复了一个 bug

docs 只涉及到文档的更改

style 不影响代码语义的变化(格式化等类型)

refactor 代码重构,既不修复错误也不添加功能

perf 改进性能的代码更改

test 添加确认测试或更正现有的测试

`build 影响构建系统或外部依赖关系的更改

ci 更改持续集成文件和脚本

chore 其他不修改srctest`文件

revert 回退 commit

在提交 log 的时候,按照需要选择提交的时候,应该为以下这种形式的格式:

// 包含作用域的提交
feat(login.vue): add login view
perf(permission.js): remove useless code
// 其他类型的提交
docs: update README.md

规范检测

此外,为了检查自己的提交是否符合规范,可以安装 commitizen 和 cz-customizable 插件来使用。如果不符合规范,那么提交将会失败。

如果你恰好使用的是 vscode ,那么可以在插件市场下载 vscode commitizen 插件。这样可以摆脱命令行的限制,而且会提交可视化界面给你选取合适的 Conventional Commits 类型。如果使用的是 jetbrains 系列的 IDE ,也可以在插件市场下载 Git Commit Template 或者 Conventional Commit 插件。以前者为例,可以直接提供模板,页面如下所示:

作用

  • 自动化生成 CHANGELOG。
  • 基于提交的类型,自动决定语义化的版本变更。
  • 向同事、公众与其他利益关系者传达变化的性质。
  • 触发构建和部署流程。
  • 让人们探索一个更加结构化的提交历史,以便降低对你的项目做出贡献的难度。

【Git】Conventional Commit 约定式提交规范相关推荐

  1. git commit 约定式提交

    引言 在开发中免不了和他人一起团队协作提交代码,为了防止大家每次提交代码时,git commit -m ' '的提交信息不明所以,所以Angular 团队提出了 Git 约定式提交.这只是一种约定规范 ...

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

    Git是现在市面上最流行的版本控制工具,书写良好的commit message能大大提高代码维护的效率. 但是在日常开发中由于缺少对commit message的约束,导致填写内容随意.质量参差不齐, ...

  3. git提交后的代码在哪儿_别乱提交代码了,来围观下大厂的 Git 提交规范

    点击上方"Python编程时光",选择"加为星标"第一时间关注Python技术干货! 作者:人人贷大前端技术中心 链接:https://juejin.im/po ...

  4. eclipse git提交代码_来看看大厂的Git提交规范,千万别乱提交代码哦...

    点击上方"小黄鸭编程社区",选择"星标" 作者:人人贷大前端技术中心来源:https://urlify.cn/3a6NNb git是现在市面上最流行的版本控制工 ...

  5. Git解决方案之提交规范

    Git 的提交规范 1 概述 格式: <type>(<scope>): <subject><body><footer> 上述大概分为3部分( ...

  6. Git Commit 提交规范

    本项目以目前使用较多的 Angular 团队规范 Conventional Commits specification(约定式提交) 为例. git hook 官方文档 git 提交时,主要分为三部分 ...

  7. 前端工程化实践 - 代码规范 提交规范 构建流程 Monorepo(附 React Native 案例)

    前端工程化实践 - 代码规范 & 提交规范 & 构建流程 & Monorepo 前言 仓库策略 Multirepo 什么是 Multirepo? Multirepo 的优点 M ...

  8. git commit 代码提交规范

    1. 前言 每个人 git 的提交记录都有自己的风格和习惯,特别是多人协作开发的项目,如果没有一套完整的规范,则每个人的代码提交描述内容会很随意,质量参差不齐,会降低 log 的可读性和维护性.所以, ...

  9. Git 提交规范-Java程序员收藏必备

    你可能会忽略的 Git 提交规范 规范是建立在程序开发者与程序阅读者一个沟通的桥梁,是一个团队必须要严格遵守的约定 --动力节点Java学院 一.为什么需要规范? 无规矩不成方圆,编程也一样. 如果你 ...

  10. 超详细的Git提交规范引入指南

    最近公司的前端团队分了组,我根据兴趣加入了基础设施建设组,负责做一些方便和规范开发的东西.第一个产出是增加了Git的提交规范,之前参与开源项目时接触到的,感觉很有意思,也很实际,用得到. 参考资料: ...

最新文章

  1. Java服务提供_JAVA 服务提供者框架介绍
  2. 业余无线电通信_登山与业余无线电的完美结合,便携式电台参加VHF比赛心得体会...
  3. 第 3 章 MySQL 存储引擎简介
  4. 快速排序的时间复杂度分析
  5. boost::graph模块实现读graph文件.dat的测试程序
  6. 引用wx.getclipboarddata中的内容_教材、图书在引用时要注意哪些方面
  7. flutter英语怎么说_美国人天天说的英语:“你搞反了”英语怎么说?
  8. javascript window.history
  9. 河南理工大学计算机科学与技术怎么样,河南理工大学计算机科学与技术怎么样...
  10. 肌营养不良最新研究进展(2021年)
  11. linux crontab零点,Linux中20个crontab例子
  12. php7hugepage,HugePage简介和KVM中使用HugePage
  13. CTF pyc之stegosaurus隐写
  14. 【财务分析】ERP软件的财务管理系统具有哪些功能?
  15. Thread.currentThread()方法、进程、线程、多线程相关总结(二)
  16. 百度换肤JavaScript功能
  17. C#中服务器端以太网通讯(一对一)
  18. 按键精灵-随机获取不重复内容
  19. IOS学习之斯坦福大学IOS开发课程笔记(第二课)
  20. 一文看懂描述性分析、诊断性分析、预测性分析、指导性分析

热门文章

  1. Kaggle泰坦尼克号预测——Last
  2. android 九宫格手势密码 纯代码实现
  3. LMP90080-芯片手册
  4. 今日学习在线编程题:可怜的小码哥
  5. 选购羽毛球拍的初级知识
  6. EPP-常见问题总结
  7. 软件用户手册(软件使用说明书)
  8. linux搭建饥荒服务器
  9. 微信支付 H5端 和小程序端 统一下单接口 4个JAVA源码文件代码
  10. 怎样将系统防御升到服务器级别,H3C IPS入侵防御系统 Web配置手册-5PW104