软件工具使用
Git

定制Git的Commit Message模板

简介:使用良好的Commit Message结构可以使我们提交时的备注信息更清晰,我们可以将Commit Message定义为三个部分:Header、Body和Footer,其中Header必须有,Body和Footer可以按情况省略。

1. Git Commit Message结构

使用良好的Commit Message结构可以使我们提交时的备注信息更清晰,我们可以将Commit Message定义为三个部分:Header、Body和Footer,其中Header必须有,Body和Footer可以按情况省略。

1.1. Header部分

在Header中,我们应该明确此次提交的类型、影响范围和简短描述;一般提交类型type有以下几类:

  • feat:新功能(Feature)
  • fix:修补Bug
  • docs:文档(Documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

而影响范围scope用于说明本次提交影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

简短描述subject是提交目的的简短描述,一般不超过50个字符,否则会被换行。简短描述一般以动词开头,使用第一人称现在时,比如change,而不是changedchanges;第一个字母小写,结尾不加句号。

1.2. Body部分

Body部分是对本次提交的详细描述,可以分成多行,使用第一人称现在时,比如使用change而不是changedchanges,切应该说明代码变动的动机,以及与以前行为的对比。

如果当前代码与上一个版本不兼容,则Footer部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。Footer部分也可以用于关闭Issue。

2. 修改Commit Message默认模板

另外,在这里也提供一个提交模板:

  • @ Type(<scope>): <subject>
  • @ <body>
  • @ <footer>
  • @ type 字段包含:
  • @ feat:新功能(Feature)
  • @ fix:修补Bug
  • @ docs:文档(Documentation)
  • @ style: 格式(不影响代码运行的变动)
  • @ refactor:重构(即不是新增功能,也不是修改Bug的代码变动)
  • @ test:增加测试
  • @ chore:构建过程或辅助工具的变动
  • @ scope用于说明提交影响的范围,比如数据层、控制层、视图层等等
  • @ subject是提交目的的简短描述,不超过50个字符
  • @ Body部分是对本次提交的详细描述,可以分成多行
  • @ Footer用来关闭Issue或以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法

我们可以在家目录~下编辑.git-commit-template.txt文件,然后将上面的内容添加到该文件中,接下里使用命令:

  • $ > git config --global commit.template ~/.git-commit-template.txt

来设置Commit Message的默认模板。在设置后,以后的每次Commit操作就会以该模板内容作为提示内容,我们只需要根据提示填写自己的注释内容即可。