分享下⼯作中使⽤的git提交规范git提交规范
advance
确保英文遇到的问题
1. 版本回退时⽆法快速定位到指定版本
2. ⽆法知道项⽬中封版操作是哪⼀个commit
adore3. ⽆法清晰的知道每次提交的记录
以下是commit提交规范
每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。
其中,Header 是必需的,Body 和 Footer 可以省略。
<type>(<scope>):<subject>
// 空⼀⾏
<body>
/
/ 空⼀⾏
<footer>
Header
Header部分只有⼀⾏,包括两个字段:type(必需)和subject(必需)。
type⽤于说明 commit 的类别,只允许使⽤下⾯9个标识。
feat: 新功能(feature)
fix: 修补bug
轮胎拆装机
docs: ⽂档(documentation)
style: 格式(不影响代码运⾏的变动)
强奸英文refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
西藏景点chore: 构建过程或辅助⼯具的变动
revert: 撤销,版本回退
perf: 性能优化
test:测试
improvement: 改进
build: 打包
ci: 持续集成
subject是 commit ⽬的的简短描述,不超过50个字符。
以动词开头,使⽤第⼀⼈称现在时,⽐如修改/修复/增加等等
example: 订单详情增加导出功能
scope
scope⽤于说明 commit 影响的范围,⽐如数据层、控制层、视图层等等,视项⽬不同⽽不同。Body
simous
Body 部分是对本次 commit 的详细描述,可以分成多⾏。下⾯是⼀个范例。
xxx/xxx.vue 修改内容
xxx/xxx.vue 修改内容
Footer
Footer 部分只⽤于两种情况。
1. 不兼容变动
如果当前代码与上⼀个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后⾯是对变动的描述、以及变动理由和迁移⽅法。
BREAKING CHANGE: 项⽬webpack升级到4.0版本
有道 在线翻译
xx插件替换成xx插件
2. 关闭 bug/需求
clos 3056, 11231
Revert
还有⼀种特殊情况,如果当前 commit ⽤于撤销以前的 commit,则必须以revert:开头,后⾯跟着被撤销 Commit 的 Header。revert: feat(pencil): 回退当前版本667ec到 s2
#建议
⽂档综合了,公司项⽬git管理的实际情况,在某⼀些规范上进⾏了轻微修改,在平时提交fix和feat时,⼀般使⽤简写
feat: 增加订单详情 clos xxxx (clos⾮必需)
fix: 修复xx情况下xx问题 clos xxxx (clos⾮必需)
docs: 修改md⽂件
style: 修改订单列表样式
中印士兵发生肢体冲突refactor: 重构utils.js下部分⽅法
chore: 增加xxx插件/xxxxloader
revert: 回退当前版本667ec到 s2
perf: 优化了xxx,提⾼了渲染速度
test:增加测试
improvement: 改进
build: 打包
ci: 持续集成
在某些复杂commit⽐如 revert,chore 等操作时最好在body,footer,描述清楚 遇到了什么问题,为何要这样做
revert: feat(订单模块): 回退当前版本667ec到 s2
因为某次提交失误,造成xxx问题
xxx.vue
xxx.js
clos xxx
chore(项⽬组件, 项⽬构建): 增加公⽤组件库xxx和xxx公⽤⼀套组件
为了解决xx问题,引⼊公⽤组件库,使⽤⽅式见xx.md⽂档
samantha mumba