在git中为您的提交消息添加注释

时间:2013-10-23 22:33:20

标签: git vim

当我git commit -a时,它会让Vim执行提交消息。

我看过这里:Using git commit -a with vim我仍然有点困惑。

当我保存并退出时,它将我带回控制台,当我git status时,它表示我仍然没有提交作品的工作。

我错过了什么?

此外,在进行提交时,无论是通过Vim窗口还是通过git commit -a -m "message",如何添加评论?

4 个答案:

答案 0 :(得分:1)

有关如何使您喜爱的编辑器成为git commit消息的默认编辑,请参阅How do I make Git use the editor of my choice for commits? 如果您从提交命令中取消-m 'my commit message',那么您的编辑器将打开,让您输入您的内容(尽管您仍应遵循Ingo提到的约定)。

P.S。:你讨厌vim?世界卫生大会?不计算。 ;)

答案 1 :(得分:0)

我怀疑在您对文件进行更改之前,您的vim进程正在分支并立即返回到控制台。当文件未被更改时,git认为您已退出提交。

尝试添加-f命令行参数以防止分叉,或使用控制台版本的vim而不是gui版本。

答案 2 :(得分:0)

在Git(以及许多其他版本控制系统,如Subversion)中,按约定提交消息包含第一行中的(相当短的)标题,可选地后跟更长的描述(这里是getcha) 以空行分隔

在至少Vim 7.2中使用文件类型检测时,应将Git提交消息检测为gitcommit文件类型,并且正确的语法突出显示将确保短标题和空第二行。

如果要在提交后添加任意注释git notes提供了一种机制;主要用于附加问题ID,或自动构建或测试运行的结果。

答案 3 :(得分:0)

git提交中的注释可能如下所示,注释带有#符号。提交中的第一行是标题。第二行,即空白行,是用于将标题与注释分开的分隔符。

This is my first commit

This is the content of my 3rd line
#COMMENT
This is the content of my 4th line, not 5th

您可以随时执行以下操作,以便您根本不必打开vim:

git commit -am "This is my first commit <ENTER>

This is the content of my 3rd line [...]"

终端将'输出'输出到git之前等待收盘价。