如何写出干净的GitCommit
2024/7/16 3:02:42
本文主要是介绍如何写出干净的GitCommit,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大家好,我是楷鹏。
写一份干净的 Git Commit,不仅赏心悦目,也有诸多好处,比如
- 为项目或者仓库生成 change log
- 方便在其他一些 Git 工具使用,比如 CI/CD、代码协作和审计平台、发版工具等
但现实是,大家对 Git Commit 基本上是为所欲为,导致一团糟:
而这是 AngularJS 仓库的 Git Commit,干净,简洁,统一:
↪️ https://github.com/angular/angular/commits/main
AngularJS 对 Git Commit 做了规范,值得借鉴。
Commit 组成:
<header> <空一行> <body> <空一行> <footer>
🌰 举例:
对应如下:
其中
- header 是必要的
- body 也是必要的,除了类型为 docs 之外,body 的内容必须大于 20 个字符
- footer 是可选的,比如放置引用的 issue
header 由三部分组成:
<类型>(<作用域>): <主题> │ │ │ │ │ └─⫸ 简短总结,现在时态,不需要首字母大写,末尾不用加句号 │ │ │ └─⫸ Commit 作用域: animations|bazel|benchpress|common|compiler|compiler-cli|core| │ elements|forms|http|language-service|localize|platform-browser| │ platform-browser-dynamic|platform-server|router|service-worker| │ upgrade|zone.js|packaging|changelog|docs-infra|migrations| │ devtools │ └─⫸ Commit 类型: build|ci|docs|feat|fix|perf|refactor|test
类型一共有 8 种:
类型 | 描述 |
---|---|
build | 影响构建系统或外部依赖的更改 (示例范围:gulp, broccoli, npm) |
ci | 对 CI 配置文件和脚本的更改 (示例:CircleCi, SauceLabs, GitHub Workflow) |
docs | 仅文档更改 |
feat | 新功能 |
fix | 错误修复 |
perf | 改善性能的代码更改 |
refactor | 既不修复错误也不添加功能的代码更改 |
test | 添加缺失测试或更正现有测试 |
作用域根据工程团队自己定义,可参考 AngularJS 定义的作用域列表:
↪️ https://github.com/angular/angular/blob/main/CONTRIBUTING.md#scope
主题要简单总结,如果团队使用英语,语法上需符合:
- 祈使句,并且是现在时态,比如 “change”,而不是 “changed” 或者 “changes”
- 首字母不需要大写
- 结尾不需要逗号或者句号
🌰 举例
docs(server): add javadoc comments on methods
feat(core): add new command 'Upload' to UI
fix: update GET headers (#142)
Reference
https://medium.com/@menuka/writing-meaningful-git-commit-messages-a62756b65c81
这篇关于如何写出干净的GitCommit的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25Easysearch Java SDK 2.0.x 使用指南(二)
- 2024-12-25车企销售精细化管理:项目管理软件的战略意义
- 2024-12-25优化资源与任务:物流行业如何借力项目管理软件
- 2024-12-25突破医疗行业瓶颈:项目管理在提高医疗效率中的应用
- 2024-12-25提高库存管理效率:管理软件如何优化库存流转
- 2024-12-25从采购到消耗:原材料管理工具在优化生产流程中的作用
- 2024-12-25看板管理在体育用品采购中的应用:提升供应链透明度与协作
- 2024-12-25选择适合研发团队的进度管理工具:市场主流工具盘点
- 2024-12-25新媒体运营小白指南:2024最佳工具篇
- 2024-12-25如何通过仪表盘功能进行项目进度跟踪与数据分析?Top6工具盘点