如何将git commit消息分成多行?

fer*_*ndo 28 git commit

当我git log用来检查我的提交解释性说明时

1. what I changed
2. blank line
3. why I changed it
Run Code Online (Sandbox Code Playgroud)

在3行不像1. what i changed 2. blank line 3. why i changed只在1行.

Ale*_*Pan 61

您只需使用以下命令:

$ git commit -m "1. what i changed
> 2. blank line
> 3. why i changed"
Run Code Online (Sandbox Code Playgroud)

在您的终端中,只需点击"输入"即可获得新行.在添加结束引用之前,提交消息不会结束.git日志看起来像:

$ git log
commit abcde2f660c707br2d20411581c4183170c3p0c2
Author: Alex Pan <alexpan@stackoverflow.com>
Date:   Tue Apr 28 20:52:44 2015 -0700

    1. what i changed
    2. blank line
    3. why i changed
Run Code Online (Sandbox Code Playgroud)

  • 使用 Windows 机器,当我按 Enter 时,提交消息被截断。它不等待收盘报价。 (6认同)
  • 如何使用交互式 rebase 解决此问题?如果我执行与 commit -m 相同的过程,则会收到一条错误消息,指出一行中有未知命令。我试图改写我的提交消息,因为它是“Test\nTest”而不是它字面上读为“\n”的实际换行符。 (2认同)
  • 这在 Mac 上不起作用。至少对于我来说。 (2认同)
  • Mac 上的“shift + return”确实有效 (2认同)

ole*_*nko 23

摘自文档

-m <msg>

--message=<msg>
Run Code Online (Sandbox Code Playgroud)

使用given作为提交消息.如果给出多个-m选项,则它们的值将作为单独的段落连接.

在你的情况下,它完全符合你的要求,在第一行和第二行之间插入一个空行

git commit -m "what I changed" -m "why I changed it"
Run Code Online (Sandbox Code Playgroud)

如果您想修改以前添加的注释,这将非常有用

  • +1只是想提一下,在github中,第一个评论显示为主要提交消息,第二个评论显示为描述(字体较小)。 (6认同)
  • 由于某种原因,我的控制台不允许我按 Enter 键,所以我采用了这个解决方案。 (2认同)

yar*_*gev 11

我发现将提交消息保存到文件更容易,然后使用-F选项.

例:

$ cat > /tmp/commit_msg.txt
DE123 bug fix: incorrect fetching of instance details
- fixed this and that
- also did such and such
$ git commit -F /tmp/commit_msg.txt
Run Code Online (Sandbox Code Playgroud)

您还可以使用编辑器在提交之前编辑消息文件.


Mat*_*Moy 8

您描述的多行格式是Git推荐的格式(请参阅git commit文档中的 DISCUSSION ).要做到这一点,最简单的方法是使用git commit-m,并在文本编辑器编写信息.


Ton*_*rix 7

尝试以编程方式执行此操作时,您可以使用 stdin,而不是使用临时文件

git commit -F-

然后将消息写入标准输入

  • 如果有人想知道这个例子:`echo "$my_multiline_var" | git 提交-F-` (4认同)