Git - 当我提交时,vi编辑器中的颜色有什么含义吗?

30
我在Windows上使用Git Bash,当我运行git commit时,vi编辑器会打开以便我编写提交说明。我注意到我所写的文本的第一行是黄色的(尽管不是全部,只有前30或40个字符),第二行是红底白字,从第三行开始变为灰色。这种颜色编码意味着什么,还是只是某种奇怪的故障?我来自一个SVN背景,那里的提交注释是纯文本,我并没有期望这种“彩虹”。:) 感谢提前回答。

2
我不确定答案(我也曾经想过这个问题——这是在Vim中的样子),但我认为这个想法是,第一行的前30-40个字符是消息,如果你正在浏览提交(或查看日志的漂亮版本)并且你想要在那里传达重要的文本,你将会看到它。具体的颜色没有任何意义。 - Jeff Tratner
3
@knowah,这不是好的建议。如果您使用命令行提交消息,通常会尽可能地写短消息,特别是避免换行。另一方面,为消息生成编辑器会让您感觉轻松,可以随意编写尽可能长的消息。 - Shahbaz
1
@Shahbaz,我想你是对的——我学习git时使用了“-m”的方式,并没有意识到如果省略它会打开一个编辑器。我的工作大多是维护,所以短消息通常就足够了。感谢您的建议! - knowah
3
这个句子通常用于 git shortlog 或者 git log --oneline 等指令中。这种颜色只是提示这行与众不同。 - J-16 SDiZ
在bash中,与-m选项配合使用换行是可能的。只要不用"关闭字符串,直到你完成为止。实际上,我刚刚完成了这个操作,然后来到这里,因为我进行了amend操作,并且还想知道颜色的情况:) 无论如何,@Shahbaz关于有意义的消息肯定是正确的! - nuala
显示剩余2条评论
1个回答

56

Vi向您提示“适当”格式化提交消息的方式。

虽然没有特定的强制执行一种消息样式以及另一种,但是“传统”Git提交消息的结构如下:

  • 简短的标题描述更改集(通常少于50-60个字符);
  • 一个空行;
  • 提交的更完整的描述,可以选择使用其他空行分段。

最后一段通常用于“元数据”条目,例如Signed-off-by:

因此,在您的情况下,Vi可能会警告您第一行比通常稍长,并且您没有在其后留下空行(我说“可能”是因为我不使用Vi,所以我不确定)。


那正是我想的,但确认一下还是好。我现在将第一行作为参考注释,跳过第二行(主要是因为我不喜欢红色,太亮了),然后填写其余我喜欢的内容。我是一个Git的非常基本的用户,但我正在学习(显然是实时学习)。 :) - Diego

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接