git am应该忽略提交消息中的内容" []"?

时间:2012-11-12 06:00:11

标签: git git-am

我的提交内容包含[Hello World]Something.的消息 然后我使用git format-patch HEAD~1来修补补丁 像这样的补丁内容:

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

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

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:1)

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

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

我们必须将“ am”命令与“ --keep-non-patch”选项一起使用。手册页描述如下:

$ man git am

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

$ man git mailinfo

   -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".