当我git commit -a
启动 Vim 来执行提交消息时。
我看过这里:Using git commit -a with vim我还是有点困惑。
当我保存并退出时,它会将我带回控制台,当我这样做时,git status
它说我还有工作尚未准备好提交。
我错过了什么?
另外,在提交时,通过 Vim 窗口或git commit -a -m "message"
如何添加评论?
当我git commit -a
启动 Vim 来执行提交消息时。
我看过这里:Using git commit -a with vim我还是有点困惑。
当我保存并退出时,它会将我带回控制台,当我这样做时,git status
它说我还有工作尚未准备好提交。
我错过了什么?
另外,在提交时,通过 Vim 窗口或git commit -a -m "message"
如何添加评论?
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 之前,终端将等待结束引号。
请参阅如何让 Git 使用我选择的编辑器进行提交?了解如何使您最喜欢的编辑器成为 git 提交消息的默认值。
如果你-m 'my commit message'
从你的提交命令中删除,那么你的编辑器将打开,让你输入你想要的内容(尽管你仍然应该遵循 Ingo 提到的约定)。
PS:你讨厌 vim?世界卫生大会?不计算。;)
在 Git(以及许多其他版本控制系统,如 Subversion)中,按照惯例,提交消息在第一行由一个(相当短的)标题组成,可选地后跟一个较长的描述(这里是陷阱),由一个空行。
在您至少在 Vim 7.2 中使用文件类型检测时,Git 提交消息应该被检测为gitcommit
文件类型,并且正确的语法突出显示将确保短标题和空的第二行。
如果您想在提交后git notes
添加任意评论,请提供一种机制;主要用于附加问题 ID,或自动构建或测试运行的结果。
我怀疑在您对文件进行更改之前,您的 vim 进程正在分叉并立即返回到控制台。当文件未更改时,git 认为您已退出提交。
尝试添加 -f 命令行参数以防止分叉,或使用控制台版本的 vim 而不是 gui 版本。