问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何写出规范的 Git Commit?AngularJS 规范详解

创作时间:
作者:
@小白创作中心

如何写出规范的 Git Commit?AngularJS 规范详解

引用
1
来源
1.
https://juejin.cn/post/7348283475386253352

写一份干净的 Git Commit,不仅赏心悦目,也有诸多好处,比如

  • 为项目或者仓库生成 change log
  • 方便在其他一些 Git 工具使用,比如CI/CD、代码协作和审计平台、发版工具

但现实是,大家对 Git Commit 基本上是为所欲为,导致一团糟:

而这是 AngularJS 仓库的 Git Commit,干净,简洁,统一

AngularJS 对 Git Commit 做了规范,值得借鉴。Commit 的结构如下:

<header>
<空一行>
<body>
<空一行>
<footer>

其中:

  • header是必要的
  • body也是必要的,除了类型为 docs 之外,body 的内容必须大于 20 个字符
  • footer是可选的,比如放置引用的 issue

header 组成

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 定义的作用域列表。

主题

主题要简单总结,如果团队使用英语,语法上需符合:

  • 祈使句,并且是现在时态,比如 “change”,而不是 “changed” 或者 “changes”
  • 首字母不需要大写
  • 结尾不需要逗号或者句号

举例

docs(server): add javadoc comments on methods
feat(core): add new command 'Upload' to UI
fix: update GET headers (#142)
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号