当一个团队在协作开发时,针对 git commit 规范是十分必须的,每一次提交都务必带上说明信息,同时说明信息亦要有格式规范,即团队要有良好的约定。目的是制定统一的标准,使得提交历史信息条理清晰,更是为了项目有条不紊地迭代以及提高开发者的效率。
由于历史原因,前后端项目开发之前并没有约定提交规范,甚至有些历史提交的提交信息根本没有写清楚修改内容、只写了毫无意义的随机字母,这些提交信息给阅读项目代码迭代带来了很大的困难。由此可见,统一的提交规范必须严格要求。
准确、扼要概括当前提交的修改做了什么工作
多个修改内容,需要用数字序号列出
严禁无意义的字符或模糊描述一笔带过修改内容,如果确实是细微的改动,也要清楚描述,例如:“代码格式化”,“fix typo”,“fix minor bug”
<type>: <title>
// 空一行
<body>
其中,type 和 title 是必须的。
type 参考本节提交类别部分。
title 是简要概括提交所修改的内容。
body 是详细描述提交内容,多个修改点可以用数字序号依次列出。body 的内容要求简洁明了,同时更加能突出此次改动的细节即可。这部分虽然不是强制要求,但在时间允许的条件下,尽可能完善。
在命令行中,可以使用
'''
或\
进行换行示例
git commit -m '''
feature: 新增缓存管理功能
1. 添加缓存删除方法;
2. 添加获取缓存键方法;
3. 统一缓存管理,格式化缓存键;
'''
feature
: 新功能
fix
: 修复bug
doc
: 文档改变
style
: 代码格式改变
refactor
: 某个已有功能重构
perf
: 性能优化
test
: 增加测试
revert
: 撤销上一次的 commit
chore
: 构建过程或辅助工具的变动
merge
: 合并代码(更推荐使用 Git 自带的 merge message,详细记录合并信息)
下面是一个 Git merge message 的样例:
Merge branch 'v1.9.0_nfby' of https://gogs.ywtinfo.com/ywt/wapapi into v1.9.0_nfby
# Conflicts:
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBooking.java
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBookingService.java
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBookingServiceGrpc.java
# src/main/java/com/ywt/wapapi/web/controllers/CheckupBookingController.java
Git 的 merge message,默认在 .git/MERGE_MSG
文件内,提交命令为:
git commit --file .git/MERGE_MSG