如何在git提交信息中添加多行

10

如何使用{{添加多行消息}}?

git commit -a -m "..."

这个类似问题的答案似乎有效(根据点赞和采纳),但看起来有些繁琐。Git 文档中写道:“-m 或 --message=使用给定的作为提交消息。如果给出多个-m选项,则它们的值将作为单独的段落连接在一起。”因此,每个新行的消息都使用一个新的-m选项是否明智?或者“段落”会添加额外的行间距?如果未来的版本允许我们在句子之间添加\n以表示换行符,那就太好了。1链接的答案基本上建议使用消息模板文件,并通过git commit -t <template_file>指示git使用该文件。

1
在这里查看一些答案:https://stackoverflow.com/q/24587262/4276832。基本上,如果完全省略 -m 参数,你的默认编辑器(vim、nano等)将会打开,你可以输入任意多行的提交信息。 - bsinky
如果你省略了 -m,你喜欢的编辑器将会打开,这将允许你输入多行提交信息。 - Matt Clark
@bsinky 谢谢,我知道可以省略 -m 在编辑器中添加消息。我想知道是否有一种简单的方法可以直接从命令行中完成。 - Blair Fonville
1
@torbinsky - 如果他们在使用bash,那么这是正确的。例如,如果他们在Windows上使用CMD,则不会这样。 这是特定于shell的行为。(但这也是我在答案中指出的方法,因为bash绝对是用于命令行git操作的好shell。) - Mark Adelsberger
3
这回答您的问题吗?如何在命令行中向“git commit -m”添加换行符? - Daemon Painter
显示剩余4条评论
2个回答

22

答案可能取决于您用来运行git的shell。例如,在bash中(在Windows上使用与git一起安装的bash shell进行了测试):

git commit -m "this is
a multi-line
message"

因为简单地说,如果命令在引号内部,Bash 将不会假定按下回车键就是结束命令。

话虽如此,我只用过 -m 来发送单行消息;如果我需要发送多行消息,其他选项对我来说更有"意义"。


我使用的是Windows系统。刚刚在git bash shell中测试了一下,结果如广告所说,运行良好(+1)。不幸的是,我从来不使用bash shell。对于我来说,它太过复杂,而且我无法使用所有的批处理脚本。我还在Windows命令提示符中进行了测试,但(正如你所猜测的那样)不幸的是它在那里无法工作。 - Blair Fonville
看起来在Windows上使用Powershell,你可以通过这种方式输入多行消息。 - bsinky

-3

使用以下命令

  1. git commit
  2. ctrl+c
  3. 按下 I 键
  4. 输入多行注释
  5. 按下 ctrl+c
  6. :wq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接