4

当我git commit -a启动 Vim 来执行提交消息时。

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

当我保存并退出时,它会将我带回控制台,当我这样做时,git status它说我还有工作尚未准备好提交。

我错过了什么?

另外,在提交时,通过 Vim 窗口或git commit -a -m "message"如何添加评论?

4

4 回答 4

6

git commit 中的注释可能如下所示,注释带有#符号。提交的第一行是标题。第二行,空白行,是分隔标题和注释的分隔符。

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 之前,终端将等待结束引号。

于 2013-10-25T21:35:20.153 回答
1

请参阅如何让 Git 使用我选择的编辑器进行提交?了解如何使您最喜欢的编辑器成为 git 提交消息的默认值。
如果你-m 'my commit message'从你的提交命令中删除,那么你的编辑器将打开,让你输入你想要的内容(尽管你仍然应该遵循 Ingo 提到的约定)。

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

于 2013-10-26T01:43:52.243 回答
0

在 Git(以及许多其他版本控制系统,如 Subversion)中,按照惯例,提交消息在第一行由一个(相当短的)标题组成,可选地后跟一个较长的描述(这里是陷阱),由一个空行

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

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

于 2013-10-24T06:41:50.970 回答
0

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

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

于 2013-10-23T22:37:42.113 回答