实际工作中 Git Commit 代码提交规范是什么样的?
前言
Git 是我们日常工作中使用最为广泛的分布式版本代码控制系统,因此在我们的实际工作中,git commit 代码提交规范能够让每一次代码提交都变得有据可循,方便后续的代码审查、问题追踪和版本管理。同时,规范的提交信息也能够为自动化工具提供便利,如生成变更日志、自动化部署等。
git commit 规范写法示例
首先我们一起来看看行业统一认可且标准的 angular 项目的 git commit 规范写法。


基本格式
首先一个规范的 git commit message 通常包含 Header、Body 和 Footer 三部分,各部分之间使用空行分隔。
<header>
// 空一行
<body>
// 空一行
<footer>
Header 必填
描述提交类型和简短说明。格式为:<类型>(<作用域>): <主题>(<type>(<scope>): <subject>)。
- 类型(Type): 必填,指明本次提交的目的,如 feat 表示新开发的功能(feature)、fix 表示修复 bug、refactor 表示代码重构等。
- 作用域(Scope): 可选,描述修改的影响范围,如模块名、功能名等,视项目不同而不同。
- 主题(Subject): 必填,是 commit 简明扼要的提交描述。长度建议不超过 50 个字符。
feat(payment): 微信支付功能集成
Body 可选
详细说明本次 commit 修改的内容。使用空行分隔段落,保持可读性。
- 新增微信支付SDK依赖
- 实现支付结果回调处理
- 添加支付相关的单元测试
Footer 可选
主要用于关联 Issue、描述破坏性变更(BREAKING CHANGE)等。
Closes #889
BREAKING CHANGE: 旧版支付回调接口已废弃,需迁移至 /api/v2/callback
实际工作常用的 git commit 规范写法
其实在实际开发工作中很多时候我们主要关注和使用的是 git commit message 的 Header 部分。Header 通常包含了提交的类型、作用域和简短的主题描述,这些信息对于快速了解每次提交的内容和目的已经足够。
描述提交类型和简短说明。格式为:<类型>(<作用域>): <主题>。
格式:type(scope) : subject
常用的提交类型包括
| 提交类型 | 描述 | 示例 |
|---|---|---|
| feat | 新功能增加(feature) | feat: add user login feature |
| fix | 修复BUG | fix: correct user authentication |
| refactor | 代码重构(既不是新增功能,也不是修复 Bug) | refactor: simplify user validation logic |
| docs | 文档/注释 | docs: update API documentation |
| style | 代码风格相关无影响运行结果的 | style: format code with prettier |
| test | 测试相关 | test: add unit tests for login feature |
| build | 影响构建系统或外部依赖的更改(例如:gulp,broccoli,npm) | build: update webpack config |
| revert | 代码撤销修改 | revert: revert commit 12345abc |
| ci | 持续集成的配置文件和脚本的变动(例如:Travis,Circle,BrowserStack,SauceLabs) | ci: update Travis configuration |
| chore | 依赖更新/脚手架配置修改等 | chore: upgrade React to the latest version |
| perf | 性能优化 | perf(core): optimize virtual DOM diffing algorithm |
实际工作中 Git Commit 代码提交规范是什么样的?的更多相关文章
- git commit 代码提交规范
格式 type: description 1. type 类型 type 是 commit 的类别,只允许如下几种标识: fix: 修复bug add: 新功能 update: 更新 refactor ...
- Git代码提交规范
1. 引言 思想,因人而异,难以重复 写代码时,每个人的习惯是不一样的,所以,引入了代码规范,为了省力,引入了自动格式化代码工具,前端工程中比较典型的自动格式化代码工具如:Prettier · Opi ...
- Git Commit Template 提交模板
多人协作开发一个项目时,版本控制工具是少不了的,git是linux 内核开发时引入的一个优秀代码管理工具,利用它能很好使团队协作完成一个项目.为了规范团队的代码提交,也方便出版本时的release n ...
- Git-【技术干货】工作中Git的使用实践
Git-[技术干货]工作中Git的使用实践 置顶 2019-09-17 21:02:16 web洋仔 阅读数 11444更多 分类专栏: Git 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...
- 工作中git 操作汇总
1. git branch -l 查看本地branch 2. git reset --hard 回滚全部修改 3. git status 查看本地修改 4. git pull 更新代码 5. gi ...
- GIT库代码管理规范
GIT库代码管理规范 一. 规范要求 1. 每个项目建立单独的GIT库.每个GIT库包括两条线,命名规则如下: 开发线(测试):项目名称_DEV 生产线(正式):项目名称 2. 每条线只允许增量不允许 ...
- Git操作: git commit代码后,如何撤回且保留commit的代码
git commit代码后,但是没有push之前,如果发现提交的代码有一个部分是有问题的,或者commit message写的太随便了想改一下,以下命令会帮到你 git reset HEAD^ 敲击该 ...
- 运用python中装饰器方法来解决工作中为原有代码添加功能问题
Python 装饰器 在实际的工作中,经常碰到领导或产品经理会提出很多甚至(变态)的产品要求,作为python开发,好不容易完成领导的需求,做出一个产品,并且经过测试成功上线.突然有一天 ...
- ubuntu16系统中pycharm下使用git将代码提交到github仓库
1 在系统中安装git,在terminal中输入以下命令 sudo apt-get update sudo apt-get install git 2 对git进行配置,在terminal中输入以下命 ...
随机推荐
- MybatisPlus - [04] 分页
limit m,n.PageHelper.MyBatisPlus分页插件 001 || MybatisPlus分页插件 (1)引入maven依赖 <dependency> <grou ...
- 单元测试三部曲-AAA模式
AAA 指的是 "Arrange, Act, Assert",这是一种通用的单元测试模式. 在测试方法中, 1.首先对测试对象进行准备(Arrange), 2.然后调用要测试的方法 ...
- ABC391E题解
大概评级:绿. 题目传送门. 显然动态规划,设 \(f_{i,k}\) 表示经过 \(i\) 次变换后能将 \(a_k\) 取反的最大值,显然答案为 \(f_{n,1}\),状态转移很简单,枚举 \( ...
- python实现批量自动访问站点URL并获取内容,自动模拟打开电脑端及移动端URL访问站点,打开URL页面获取页面内容
问题描述:假设目前有多个网站URL,需要检查各站点keyword,description是否正常设置,如果人工逐个打开URL访问比较耗时,故采用python模拟电脑端和移动端自动打开网站URL访问,并 ...
- 记录:tinyrenderer---1.2 Rasterizing the boundary
光栅化三角形 Scanline rendering(扫描线渲染),一个老式的算法 按y轴坐标进行排序,我这里采取降序,ay > by > cy 同时光栅化三角形的左右两边 绘制水平线段,连 ...
- protobuf优缺点及编码原理
什么是protobuf protobuf(Google Protocol Buffers),官方文档对 protobuf 的定义:protocol buffers 是一种语言无关.平台无关.可扩展的序 ...
- 1、从DeepSeek API调用到Semantic Kernel集成:深度解析聊天机器人开发全链路
引言:AI时代下的聊天机器人开发范式演进 在生成式AI技术爆发的当下,基于大语言模型(LLM)的聊天机器人开发已形成标准化技术链路.本文将结合DeepSeek API与微软Semantic Kerne ...
- minio迁移工具 mc
mc mirror 命令属于 MinIO Client (mc) 工具,默认不会随 MinIO 服务器一起安装,需要 单独安装. 安装 MinIO Client (mc) Linux/macOS 执行 ...
- 使用ssh连接virtual Box里的虚拟机
使用ssh连接virtual Box里的虚拟机 需求:virtual Box提供的文件拖放功能在从虚拟机拖向主机时,会出现一些卡顿,因此考虑使用ssh代替其文件传输功能. 高级 -> 端口转发 ...
- [每日算法 - 华为机试] leetcode680. 验证回文串 II
入口 力扣https://leetcode.cn/problems/valid-palindrome-ii/submissions/ 题目描述 给你一个字符串 s,最多 可以从中删除一个字符. 请你判 ...