9

我有一个提交消息,例如[Hello World]Something.
然后我使用 git format-patch HEAD~1 来创建一个补丁。
补丁内容如下:

Subject: [PATCH 1/7] [Hello World] Something.

但是在我使用 git am 应用补丁后,提交消息变成了“Something”,[Hello World] 似乎丢失了。
应用补丁后如何将内容保留在“[]”中?

4

2 回答 2

13

git am -k会阻止它删除[]主题开头括号中的内容,但这也会保留该[PATCH 1/7]部分。 git format-patch还有一个-k选项可以阻止它添加那种类型的内容,从而允许主题在一个git format-patch | git am循环中被保留。

于 2012-11-12T06:22:38.053 回答
3

我有同样的担忧,并在下面的链接中找到了解决方案:

http://git.661346.n2.nabble.com/Bug-Incorrect-stripping-of-the-PATCH-prefix-in-git-am-td7643405.html

我们必须使用带有“--keep-non-patch”选项的“am”命令。手册页描述如下:

$ man git am

   --keep-non-patch
       Pass -b flag to git mailinfo (see git-mailinfo(1)).

$ 人 git 邮件信息

   -b
       When -k is not in effect, all leading strings bracketed with [ and ] pairs
       are stripped.  This option limits the stripping to only the pairs whose
       bracketed string contains the word "PATCH".
于 2018-07-11T08:26:16.407 回答