常用的Git commit 提交规范!

在我们嵌入式开发中,版本管理工具Git已经成为不可或缺的一部分。

Git帮助我们记录代码变更历史,提供了强大的代码协作开发功能。

初学时,我们基本都是按照下面的格式这么来写commit信息的吧?

git commit -m "Fix Segmentation fault bug"

甚至有些公司的commit信息也很随意也类似于上面这样的。这样的commit信息包含的信息比较有限,不利于后续的版本追溯。

其实,为了确保团队成员能够更高效地协作,并且保持代码库的整洁和有序,需要团队各成员遵循达成一致的commit提交规范。

commit提交规范尽可能地包含一些能帮助我们对历史版本进行追溯的有用信息。

比如:能清晰地概述所提交的内容、能知道这个提交是bug修复还是功能新增、代码修改的地方、影响范围、是否经过自测等。

这个提交规范可以形成commit模板文件配置到git中。

commit模板配置

1、在用户目录下创建一个名为commit.template的模板文件。模板内容可参考如下:

<类型>: 主题

修改内容:
影响范围:
自测情况:
相关链接:

#1、类型:
# feat:新增 xxx 功能
# fix:修复 xxx bug
# 
### 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
发出的红包

打赏作者

嵌入式大杂烩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值