前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git Message 编写规范

Git Message 编写规范

作者头像
用户10125653
发布2022-11-10 21:56:07
6200
发布2022-11-10 21:56:07
举报
文章被收录于专栏:changechange

为什么使用约定式提交

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

Git Message 编写指南

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

概述

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

代码语言:javascript
复制
<类型(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
复制
fix(企业管理): 删除企业信息
因业务需要企业信息彻底删除,不做逻辑删除处理
BREAKING CHANGE: 之前是逻辑删除,现在是彻底删除,权限要严格控制

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

代码语言:javascript
复制
chore!: 更新mybatis-plus版本

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

不包含正文的提交说明

代码语言:javascript
复制
docs: 更改基线负荷计算说明

包含作用域的提交说明

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么使用约定式提交
  • Git Message 编写指南
  • 概述
    • 类型 Type 说明
      • 可选的作用域 Scope 说明
        • 描述 Subject 说明
          • 可选的正文 Body
            • 可选的脚注 Footer
            • 工具使用
              • idea
                • vscode
                • 示例
                  • 包含了描述以及正文内有破坏性变更的提交说明
                    • 包含了可选的 ! 字符以提醒注意破坏性变更的提交说明
                      • 不包含正文的提交说明
                        • 包含作用域的提交说明
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档