git commit message编写指南

本文介绍了Git commit message的编写指南,遵循Angular规范,包括Header(type、scope、subject),Body和Footer部分的详细说明,强调了规范提交信息对于代码历史追溯、Change log自动生成的重要性,并提供了示例参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. git commit message编写指南

【声明】参考angular代码规范及部分博客整理,仅学习记录,非商用。

1. 概述

日常开发中使用 git 提交代码要求一定要写 git commit message,否则就无提交代码。

commit message作为改动说明,保存在 commit 历史中,方便回溯。

规范的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG,甚至对于项目的研发质量都有很大的提升。

在这里插入图片描述

规范git commit到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况。
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
  • 格式化的commit message才可以用于自动化输出Change log。

本篇主要学习Angular 规范。

2. Angular

2.1. Angular规范

Commit message 都包括三个部分:Header,Body 和 Footer。

其中,Header 是必需的,Body 和 Footer 可以省略。

不管是哪一个部分,任何一行都不得超过100个字符。这是为了避免自动换行影响美观,方便在 github 和其他 git 工具上更容易阅读。

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
标题行:50个字符以内,描述主要变更内容

主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括: 
    - 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
    - 他如何解决这个问题? 具体描述解决问题的步骤
    - 是否存在副作用、风险? 

尾部:如果需要的化可以添加一个链接到issue地址或者其它文档,或者关闭某个issue。

2.2. 参数说明

2.2.1. Header部分

常用的 git 客户端工具,在查看 git log 的时候,往往只会显示 git commit message 第一行的内容,header 的作用就是规范第一行的内容,使我们在浏览 git log 的时候,能一眼就看出每次 commit 的内容。

规范中Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。

2.2.1.1. type

type: 代表某次提交的类型,比如是修复一个bug还是增加一个新的feature。

type类型 Annotation
feat
### 关于 Git Commit 操作的使用指南 Git 是一种分布式版本控制系统,而 `git commit` 则是记录更改的核心命令之一。通过遵循一定的规范和最佳实践,可以显著提升团队协作效率以及代码库的历史可追溯性。 #### 1. 核心概念 每次执行 `git commit` 都会创建一个新的提交对象,该对象包含了当前工作目录的变化摘要、作者信息以及其他元数据。为了使这些提交更具意义并便于后续维护,推荐采用标准化的消息格式[^2]。 #### 2. 提交消息的标准格式 按照 Angular.js 的 Git Commit Guidelines 定义的标准格式编写提交信息是非常重要的[^1]: ```plaintext <type>(<scope>): <subject> <body> <footer> ``` - **Type**: 描述此次改动的主要类别,例如 `feat`, `fix`, `docs`, 等等。 - **Scope**: 可选字段,用于指定受影响的功能区域或者模块名称。 - **Subject**: 简短的一句话总结本次变更的内容,长度通常不超过50字符[^4]。 示例: ```plaintext feat(user-profile): 添加用户资料编辑页面 允许管理员更新用户的个人信息部分。 解决 #123 用户反馈无法修改邮箱地址的问题。 ``` #### 3. 实际操作步骤 以下是完成一次典型 git commit 流程的具体方法: 1. 修改文件后运行 `git add .` 将所需变动加入暂存区; 2. 执行 `git status` 查看状态确认无误后再继续下一步骤; 3. 输入 `git commit -m "<your_commit_message>"` 来保存更改至本地仓库;如果需要更详细的描述,则省略 `-m` 参数直接打开默认编辑器填写完整的信息体。 对于复杂场景下的多人合作开发环境来说,还可以利用交互式的 rebase 功能调整历史记录顺序以便更好地呈现最终成果。 #### 4. 表情符号增强表达力 除了传统的文字表述外,在某些情况下也可以适当引入 Emoji 图标来辅助传达特定含义,比如表示修复拼写错误可以用 ":pencil2:" 这样的方式标记出来[^3] 。不过需要注意的是并非所有项目都接受这种形式化程度较高的做法,所以在实际应用前最好先了解清楚所在组织的习惯偏好。 --- ```bash # 创建新分支并切换到其中 git checkout -b feature/new-functionality # 对某个具体问题作出修正之后准备提交 git add path/to/modified-file.py git commit -m "fix(api-client): 解决网络请求超时异常" ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值