多个换行符合并在git commit消息中

我使用的是msys git,我注意到的一件事是当我在vi中时,我编写了一个包含两个或多个换行符的提交消息,当它实际上在那里提交时只会是单行换行。多个换行符合并在git commit消息中

如果我这样写:

my first commit 

Hello out there from the first line.

Hello out there from two linefeeds below.


将致力于为:

my first commit 

Hello out there from the first line.

Hello out there from two linefeeds below.


是否使用MSYS的Git通知这一点,我怎么能阻止它的发生的人?

Git版本1.7.10.msysgit.1

感谢

回答:

如果你看一下pretty.c(分管format_commit_item() function),似乎是对提交信息的标准。

第一个空行用于将标题从提交消息的主体中分离出来。
所有其他换行符都分组为不超过一个空行,可能是因为可以通过电子邮件发送这些提交,并且审阅者不希望看到使用和滥用的换行符,从而使所述电子邮件过长以至于无法滚动。


的OP test证实了这一点用于在msysgit的早期版本可能:

好吧,我做了一个VM一些测试,发现Git的-1.7.7-preview20111014.exe如果我安装它,然后转到Git GUI并打开我的回购和我提交一个提交,我可以做多个换行没有整合。
我希望他们能够带回来,我需要它! -

现在,Git-1.7.7-preview20111014 means commit 81143a87(2011-10-14T06:04:08-07:00),这意味着pretty.c was in that state (commit f67d2e82d6)。
从那时起,它(pretty.c)的演变主要是解析提交签名,而对format_commit_item()函数没有可见的影响。


我确认了另外一种OP的发现:

即使是最新的msysgit(PortableGit-1.7.11-preview20120710),一个在混帐GUI提交编辑将保持其换行。
在vi中编辑的提交不会。

可以看出,最初的消息提交只保留每一个注释换行符。
我必须在git gui中修改它以便放置(并保留提交后)多个换行符。

以上是 多个换行符合并在git commit消息中 的全部内容, 来源链接: utcz.com/qa/263475.html

回到顶部