ToB企服应用市场:ToB评测及商务社交产业平台

标题: Git Commit Message 应该怎么写? [打印本页]

作者: 伤心客    时间: 2023-4-4 14:36
标题: Git Commit Message 应该怎么写?
原文链接: Git Commit Message 应该怎么写?
最近被同事吐槽了,说我代码提交说明写的太差。其实都不用他吐槽,我自己心里也非常清楚。毕竟很多时候犯懒,都是直接一个 -m "fix" 就提交上去了。
这样做是非常不好的,我也是自食恶果,深受其害。特别是查看历史提交记录时,想通过提交说明来了解当时的功能变更,基本不可能,都得点进去看代码才行。
所以这两天看了一些如何写好提交说明的资料,系统地学习了一下。虽然团队没有这方面的要求,但是想要进步,得对自己提更高的要求才行。
一般使用 git 提交代码的话,可以使用 -m 参数来指定提交说明,比如:
  1. $ git commit -m "hello world"
复制代码
如果一行不够,可以只执行 git commit,这样就会跳出文本编辑器来写多行:
  1. $ git commit
复制代码
Commit Message 格式

Commit Message 包括三个部分:Header,Body 和 Footer。
  1. [/code]其中,Header 是必需的,Body 和 Footer 可以省略。
  2. [size=4]Header[/size]
  3. Header 部分只有一行,包括三个字段:type(必需)、scope(可选)、subject(必需)。
  4. [code]<type>(<scope>): <subject>
复制代码
type

type 用于说明 commit 的类别,具体的标识如下:
scope

scope 用于说明 commit 的影响范围,比如数据层、控制层、视图层等等,视项目不同而不同。
如果你的修改影响了不止一个 scope,就可以使用 * 代替。
subject

subject 是 commit 目的的简单描述,不超过 50 个字符,结尾不需要句号。
Body

Body 部分是对本次 commit 的详细描述,可以分多行。
Body 部分应该说明代码变动的动机,以及与以前行为的对比。
  1. More detailed explanatory text, if necessary.  Wrap it to
  2. about 72 characters or so.
  3. Further paragraphs come after blank lines.
  4. - Bullet points are okay, too
  5. - Use a hanging indent
复制代码
Footer

Footer 部分主要用于两种情况:不兼容变动和处理 Issue。
不兼容变动

如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE: 开头,后面就是对变动的描述、以及变动理由和迁移方法。
[code]BREAKING CHANGE: Previously, $compileProvider.preAssignBindingsEnabled was set to true by default. This means bindings were pre-assigned in component constructors. In Angular 1.5+ the place to put the initialization logic relying on bindings being present is the controller $onInit method.To migrate follow the example below:Before:​```jsangular.module('myApp', [])    .component('myComponent', {        bindings: {value: '




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4