git commit提交规范

本文介绍了如何规范地编写Commit Message,包括其组成部分:header、body和footer。详细解释了header中的type、scope和subject,并提供了多种类型的示例,如feat、fix、docs等。此外,还提供了一份emoji表情库以辅助表达提交的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Commit message 都包括三个部分:header,body 和 footer,其中 header 有一个特殊的格式,包括了 type、scope、subject。

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

header 部分规范其实基本能满足绝大部分需要

type(*)
commit 的类型:

feat: 新功能、新特性(feature)
add: 新增功能
fix: 修改 bug  // fix:适合于一次提交直接修复问题 to:适合于多次提交。最终修复问题提交时使用fix
docs: 文档修改
merge: 代码合并
deps: 升级依赖

style: 代码格式修改, 注意不是 css 修改(修改代码格式,例如分号修改)
test: 测试用例新增、修改
revert: 恢复上一次提交、回滚到上一个版本  撤销修改
release: 发布新版本

workflow: 工作流相关文件修改
ci: 持续集成相关文件修改
build: 影响项目构建或依赖项修改
perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
chore: 修改工具相关(不在上述类型中的修改,改变构建流程、或者增加依赖库、工具等)
types:  类型定义文件更改
wip: 开发中

scope(*)

commit 影响的范围, 比如: route, component, utils, build... (比如某个模块,菜单,页面等)

subject(*)

commit 的概述

emoji 表情库 (选填)

/*
emoji	emoji 代码	commit 说明

feat	✨ :new:	引入新功能
fix	    🐛	:bug:   修复 bug
style	💄	:lipstick: 更新 UI 样式文按键
format	🥚	:art: 格式化代码
docs	📝	:memo:/:book: 添加/更新文档
perf	👌	:zap:/:racehorse: 提高性能/优化
init	🎉	:tada: 初次提交/初始化项目
test	✅	:white_check_mark: 增加测试代码
refactor 🎨	:art: 改进代码结构/代码格式
patch	🚑	:ambulance: 添加重要补丁
file	📦:package:	添加package文件 (更新编译的文件或包)
publish	🚀:rocket:	发布新版本
tag	📌	:pushpin: 将依赖关系固定到特定版本
ci 👷  :construction_worker: 添加 CI 构建系统 /  :green_heart:修复 CI 构建问题 
config	🔧	:wrench: 修改配置文件
git	🙈 :see_no_evil:	添加或修改.gitignore 文件
chore	⚡ :zap: 	🐎:racehorse:  改变构建流程、或者增加依赖库、工具等
delete	🔥	:fire: 移除代码或文件
*/


常用表情

图标	emoji 代码	commit 说明
🎨  (调色板)	:art:	改进代码结构/代码格式
 (闪电) :zap: 提升性能
🐎 (赛马)	:racehorse:	提升性能
🔥 (火焰)	:fire:	移除代码或文件
🐛(bug)	:bug:	修复 bug
🚑 (急救车)	:ambulance:	重要补丁
 (火花)	:sparkles:	引入新功能
📝 (备忘录)	:memo:	撰写文档
🚀 (火箭)	:rocket:	部署功能
💄 (口红)	:lipstick:	更新 UI 和样式文件
🎉 (庆祝)	:tada:	初次提交
 (白色复选框)	:white_check_mark:	增加测试
🔒 ()	:lock:	修复安全问题
🍎 (苹果)	:apple:	修复 macOS 下的内容
🐧 (企鹅)	:penguin:	修复 Linux 下的内容
🏁 (旗帜)	:checked_flag:	修复 Windows 下的内容
🤖 (Android机器人)	:robot:	修复Android上的某些内容。
🍏 (绿苹果)	:green_apple:	解决iOS上的某些问题。
🔖 (书签)	:bookmark:	发行/版本标签
🚨(警车灯)	:rotating_light:	移除 linter 警告
🚧 (施工)	:construction:	工作进行中
💚 (绿心)	:green_heart:	修复 CI 构建问题
⬇️ (下降箭头)	:arrow_down:	降级依赖
⬆️ (上升箭头)	:arrow_up:	升级依赖
📌 (图钉)	:pushpin:	将依赖关系固定到特定版本。
👷 (工人)	:construction_worker:	添加 CI 构建系统
📈 (上升趋势图)	:chart_with_upwards_trend:	添加分析或跟踪代码
♻️ (循环箭头)	:recycle:	重构代码。
🔨 (锤子)	:hammer:	重大重构
 (减号)	:heavy_minus_sign:	减少一个依赖
🐳 (鲸鱼)	:whale:	Docker 相关工作
 (加号)	:heavy_plus_sign:	增加一个依赖
🔧 (扳手)	:wrench:	修改配置文件
🌐 (地球)	:globe_with_meridians:	国际化与本地化
✏️ (铅笔)	:pencil2:	修复 typo
💩 (瞪眼)	:hankey:	编写需要改进的错误代码。
 (双左箭头)	:rewind:	恢复更改。
🔀 (双合并箭头)	:twisted_rightwards_arrows:	合并分支。
📦 (箱子)	:package:	更新编译的文件或包。
👽 (面具)	:alien:	由于外部API更改而更新代码。
🚚 (面包车)	:truck:	移动或重命名文件。
📄 (文档)	:page_facing_up:	添加或更新许可证。
💥 (爆炸)	:boom:	介绍突破性变化。
🍱 (装满餐盘)	:bento:	添加或更新资产。
👌 (OK手势)	:ok_hand:	由于代码审查更改而更新代码。
 (坐姿)	:wheelchair:	提高可访问性。
💡 (灯泡)	:bulb:	记录源代码。
🍻 (干杯)	:beers:	醉生梦死的写代码。
💬 (提示栏)	:speech_balloon:	更新文字和文字。
🗃 (卡片盒子)	:card_file_box:	执行与数据库相关的更改。
🔊 (有声喇叭)	:loud_sound:	添加日志。
🔇 (静音喇叭)	:mute:	删除日志。
👥 (两个人头)	:busts_in_silhouette:	添加贡献者。
🚸 (小盆友)	:children_crossing:	改善用户体验/可用性。
🏗 (吊车)	:building_construction:	进行架构更改。
📱 (手机)	:iphone:	致力于响应式设计。
🤡 (小丑)	:clown_face:	嘲笑事物。
🥚 (彩蛋)	:egg:	添加一个复活节彩蛋。
🙈 (蒙眼猴子)	:see_no_evil:	添加或更新.gitignore文件。
📸 (照相机)	:camera_flash:	添加或更新快照。

表情库大全

### Git Commit Message 规范示例 #### 单行提交信息格式 每次提交应当只解决一个问题,这有助于简化代码审查过程并提高可追溯性。单行提交信息应该简洁明了,通常不超过72个字符[^1]。 ```plaintext type(scope): subject ``` - `type` 表示更改的性质(如 feat, fix) - `scope` 是可选字段,用于指定受影响的部分或模块名称 - `subject` 描述所做的改动摘要 #### 完整多行提交信息结构 对于更复杂的变更,则推荐采用如下完整的多行格式: ```plaintext type(scope): subject Body explaining the change and its motivation. Footer with any relevant issue references. ``` 其中: - **Header**: 包含三部分——类型(type),作用域(scope)以及主题(subject) - **Body**: 对修改原因及实现细节做进一步解释说明;如果适用的话还可以提及如何测试这些变化。 - **Footer**: 如果有的话,在这里注明关联的问题编号或者其他元数据信息,例如关闭某个GitHub Issues。 #### 实际案例展示 ##### 添加新功能的例子 当向项目中引入新的特性时,可以这样书写commit message: ```plaintext feat(user-profile): add avatar upload feature Allow users to upload avatars from their local machines or via URL links. This enhancement improves user experience by personalizing profiles. Closes #1234 ``` ##### 修复Bug的例子 针对错误修正类别的提交消息则像下面这样表达: ```plaintext fix(authentication): resolve login redirect loop on Safari browser The previous implementation caused an infinite redirection when logging in using Safari due to incorrect handling of session cookies. The solution was implemented according to best practices outlined at MDN Web Docs regarding secure cookie settings. Fixes #9876 ``` #### 工具支持 为了确保团队成员都能遵循一致的消息格式化规则,建议使用工具辅助验证。例如可以通过配置 pre-commit hook 来运行 validate-commit-msg 或者集成 CI/CD 流程中的检查脚本以自动拒绝不符合规定的提交请求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值