Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Git Message 编写规范

Git Message 编写规范

作者头像
用户10125653
发布于 2022-11-10 13:56:07
发布于 2022-11-10 13:56:07
72500
代码可运行
举报
文章被收录于专栏:changechange
运行总次数:0
代码可运行

为什么使用约定式提交

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

Git Message 编写指南

我们参考的是Angular 规范,同时也参考了约定式提交

概述

提交说明的结构如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<类型(Type)>[可选的作用域(Scope)]: <描述(Subject)>

[可选的正文(Body)]

[可选的脚注(Footer)]
类型 Type 说明
  • feat:新功能(feature)
  • fix:表示在代码库中修复了一个 bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动,空格,格式化,等等)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • perf: 性能 (提高代码性能的改变)
  • test:增加测试或者修改测试
  • build: 影响构建系统或外部依赖项的更改(maven,gradle,npm 等等)
  • ci: 对CI配置文件和脚本的更改
  • chore:对非 src 和 test 目录的修改
  • revert: Revert a commit
可选的作用域 Scope 说明

scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同

描述 Subject 说明

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

可选的正文 Body

Body 部分是对本次 commit 的详细描述,可以分成多行

需要注意

  • 使用第一人称现在时,比如使用change而不是changed或changes。
  • 应该说明代码变动的动机,以及与以前行为的对比

需要注意:

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

可选的脚注 Footer

Footer 部分只用于两种情况

  1. 不兼容变动: 如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法
  2. 关闭Issue 如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。也可以是多个issue。或者Jira 编号

工具使用

idea

安装插件: Git Commit Template Helper

vscode

安装插件: Git-commit-plugin For Vscode

示例

包含了描述以及正文内有破坏性变更的提交说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fix(企业管理): 删除企业信息
因业务需要企业信息彻底删除,不做逻辑删除处理
BREAKING CHANGE: 之前是逻辑删除,现在是彻底删除,权限要严格控制

包含了可选的 ! 字符以提醒注意破坏性变更的提交说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chore!: 更新mybatis-plus版本

BREAKING CHANGE: 新版的连表查询优化策略与旧版不同,注意连表查询相关代码

不包含正文的提交说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docs: 更改基线负荷计算说明

包含作用域的提交说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
feat(邀约): 新增 供电公司登录可对对应企业邀约
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文搞定 Conventional Commits
规范化 git commit 对于提高 git log 可读性、可控的版本控制和 changelog 生成都有着重要的作用。然而阻碍我们脚步的不只是团队的推广,单单对于一系列工具的配置都让人头大。这其中主要就是 commitlint 和 commitizen 的配合使用以及自定义提交规范。本文总结了目前的最佳实践给大家,如果有帮助,赏个star足矣。
用户1250838
2021/07/30
1.4K0
git提交代码规范
在我们向github仓库提交代码时,git commit命令是不可缺少的。我们在commit时需要附带一些提交信息,否则将禁止提交。
不作声
2021/02/04
8330
Git 代码提交注释管理规范
3.  页脚注释: 放 Breaking Changes  或 Closed Issues
正在走向自律
2024/12/17
4360
Git 代码提交注释管理规范
别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。它的 message 格式如下:
Erwin
2020/02/11
1.1K0
git:git commit 书写格式
  正如 git add 的作用是将文件放入暂存区, git commit 的作用是将修改提交到分支上。
JNingWei
2018/09/28
2.1K0
你可能会忽略的 Git 提交规范
一直是 ESLint 的忠实用户,深知规范的重要性。然而,在新项目交接中,我被 Git Commit 规范逼疯了。才意识到自己的疏忽,于是便有了一探究竟的想法。
DevOps时代
2018/08/01
3390
你可能会忽略的 Git 提交规范
Git Commit Message 应该怎么写?
最近被同事吐槽了,说我代码提交说明写的太差。其实都不用他吐槽,我自己心里也非常清楚。毕竟很多时候犯懒,都是直接一个 -m "fix" 就提交上去了。
AlwaysBeta
2023/04/02
7540
开发规范 | 代码审核规范
commit message 都包含三个部分:Header(必需)、Body(可选)、Footer(可选)
双鬼带单
2021/04/13
2K0
开发规范 | 代码审核规范
commit 规范性提交
添加 pre-commit 规范团队提交规范 增加 eslint + pre-commit 以前团队的 commit 都比较随意,没有对照和规范性。 安装 npm install --save-dev pre-commit 具体的详情可以看 github github.com/observing/p… 优点 可读性好,清晰,不必深入看代码即可了解当前 commit 的具体功能 为以后跟踪和查看 log 历史做准备 code review 更加方便 git blame(查看每个部分是谁修改的) 更加
西南_张家辉
2021/02/02
5200
别乱提交代码了,看下大厂 Git 提交规范是怎么做的
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。
IT大咖说
2020/02/21
2K0
别乱提交代码了,看下大厂 Git 提交规范是怎么做的
这个插件让你不再苦恼如何写 Git Commit Message
想必现在大多同学都是使用 Git 进行代码的提交、恢复和跟踪的,它是我们开发日常最常用的工具之一。
永恒君
2022/12/07
2.7K0
这个插件让你不再苦恼如何写 Git Commit Message
如何优雅的编写git的提交信息
在公司的日常工作当中或者个人的开源项目,将代码提交到代码库时。都会遇到下面这样的对话框,通常都会随便写点内容在里面。
JusterZhu
2022/12/07
6040
如何优雅的编写git的提交信息
Git的Commit规范
在企业开发当中,开发的模式更多的团队协作,而并非一个coding。但是每个人的代码风格可能都不一样,更何况是Git的commit信息呢,各种千奇百怪,也并不是全部否认所有人,但是项目规范在企业开发是非常重要的,这时候Git的commit的信息也是需要符合规范,这样大家都知道你提交的代码都干了些什么。
麋鹿大哥
2020/10/30
9450
Git的Commit规范
Commit message 和 Change log 编写指南
Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。 $ git commit -m "hello world" 上面代码的-m参数,就是用来指定 commit
ruanyf
2018/04/13
9300
Commit message 和 Change log 编写指南
Git Commit Message 最佳实践
Git 是一个免费开源的分布式版本控制系统,由 Linux 之父 Linus Torvalds 于 2005 年开发,最初的目的用于管理 Linux 内核的开发。
恋喵大鲤鱼
2023/10/12
8650
Git Commit Message 最佳实践
别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。它的 message 格式如下:
芋道源码
2020/02/10
1.2K0
原来大厂都是这么提交代码的
在开发大型项目时,通常都是由团队来进行开发。此时,每个人有每个人的代码编写风格和提交习惯,如果放任自由发挥,那么代码质量和代码提交日志就难免风格各异,导致项目代码质量难以保持统一。针对这一问题,往往公司在以项目组进行开发时,在进入正式编码前,都会制定一个标准的流程,用来规范代码提交前的流程,同时对提交日志进行规范化。从而最大程度上保持项目的代码风格统一,提高代码可读性。
村雨遥
2023/05/30
7460
原来大厂都是这么提交代码的
Git提交信息规范Git Commit Message
目前规范使用较多的是引用或衍生  Github Angular开发中<提交信息准则>章节(Commit Message Guidelines).以下为规范译文:
gigiwangs
2019/11/22
1.7K0
git commit 规范及自动化
白墨石
2023/10/07
5820
测试开发必学技能之一:代码提交规范与自动生成工具!
约定式提交(Conventional Commits)是一种用于代码版本控制的规范,旨在通过明确和标准化提交信息来提高代码协作质量和效率。其基本原则是通过规定提交信息的结构和语义来提高代码版本控制的可读性、可维护性和自动化程度。
测试开发技术
2024/12/23
1380
测试开发必学技能之一:代码提交规范与自动生成工具!
相关推荐
一文搞定 Conventional Commits
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验