【问题标题】:Adding comments to your commit message in git在 git 中向您的提交消息添加注释
【发布时间】:2013-11-02 10:19:34
【问题描述】:

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

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

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

我错过了什么?

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

【问题讨论】:

  • 本例中的消息是评论。
  • “消息”最终成为提交的标题/标题。
  • 这是提交信息。您也可以添加多行消息,看起来第一行是标题,以下几行是描述。
  • 您可能会误解您所看到的内容。在 Git 中,“提交消息”是单个文本块。按照惯例,此消息的第一行在日志中显示为“标题/标题”。使用commit -m时,只添加单行,而不是多行消息。
  • @GregHewgill Gotcha,这就是我想知道的,因为我讨厌与 vim 打交道。但是我有时需要添加更多信息。当您在 github 上查看一条长标题消息时,它会被包含在描述中

标签: git vim


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    请参阅How do I make Git use the editor of my choice for commits?,了解如何将您最喜欢的编辑器设为 git 提交消息的默认值。
    如果你从你的提交命令中去掉-m 'my commit message',那么你的编辑器将会打开,让你输入你想要的内容(尽管你仍然应该遵循 Ingo 提到的约定)。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 我在控制台版本的vim中。
      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-24
        • 2012-04-07
        • 1970-01-01
        • 1970-01-01
        • 2016-02-03
        • 2014-02-04
        • 2014-02-23
        • 2015-02-04
        相关资源
        最近更新 更多