当我git commit -a
时,它会让Vim执行提交消息。
我看过这里:Using git commit -a with vim我仍然有点困惑。
当我保存并退出时,它将我带回控制台,当我git status
时,它表示我仍然没有提交作品的工作。
我错过了什么?
此外,在进行提交时,无论是通过Vim窗口还是通过git commit -a -m "message"
,如何添加评论?
答案 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之前等待收盘价。