Git:提交消息约定/格式

sul*_*tan 1 git git-commit

如何在git中调用这种提交消息?

fix(short message): expanded message
docs(short message): expanded message
feat(short message): expanded message
refactor(short message): expanded message
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 7

你在Karma找到了这个惯例

<type>(<scope>): <subject>

<body>

<footer>
Run Code Online (Sandbox Code Playgroud)

它可以帮助:

  • 自动生成更改日志
  • 通过git历史进行简单导航(例如忽略样式更改)

Karma的惯例包括:

允许<type>值:

  • feat(用户的新功能,而不是构建脚本的新功能)
  • 修复(用户的错误修复,而不是修复构建脚本)
  • docs(文档的更改)
  • 样式(格式化,缺少半冒号等;没有生产代码更改)
  • 重构(重构生产代码,例如重命名变量)
  • 测试(添加缺失的测试,重构测试;没有生产代码更改)
  • 家务(更新grunt任务等;没有生产代码更改)

示例<scope>值:

  • 在里面
  • 跑步者
  • 守望者
  • 配置
  • 网络服务器
  • 代理
  • 等等

注意:git commit消息不应以空行或空行开头.
这不是非法的,但是对于git 2.10(2016年第3季度),默认情况下会对某些操作修剪这些行.

请参阅提交054a5ae,提交88ef402,提交84e213a,提交84e213a(2016年6月29日),提交88ef402,提交84e213a(2016年6月29日),提交84e213a(2016年6月29日),并提交4e1b06d,提交7735612(2016年6月22日)作者:Johannes Schindelin(dscho).
(由Junio C gitsterHamano合并- -62e5e83的承诺中,2016年7月11日)

reset --hard:报告提交主题时跳过空行

当提交消息开头有空行时,漂亮的打印机器在显示提交主题(或完整的提交消息)时已经跳过它们.
在用户调用之后报告提交主题时,我们将继续这样做

git reset --hard <commit>
Run Code Online (Sandbox Code Playgroud)

commit -C:在邮件开头跳过空白行

(即当您获取现有提交对象时,在创建提交时重用日志消息和作者信息(包括时间戳))

与漂亮的打印机器一致,我们跳过现有提交消息的前导空行(如果有的话).

虽然Git本身只生成提交对象,在提交标头和提交消息之间只有一个空行,但在提交消息开头有多个空行(即只包含空格或无字符的行)是合法的,并且漂亮的打印代码已经处理过了.

commit.c:使find_commit_subject()更强大

就像漂亮的打印机器一样,我们应该简单地忽略提交消息开头的空白行.

rebase--helper生成的提交对象的早期版本在头和提交消息之间有多个空行时,会注意到这种差异 .