git am从我的提交消息中窒息了字符

时间:2013-03-18 09:38:08

标签: git format-patch git-am

我在我的git commit消息中使用了一些私有注释。

例如,当我在模块MOD_A中修复某些内容时,提交消息如下所示:

FIX [MOD_A] Fixed something

只要FIX前面有[MOD_A],如果我使用

生成补丁,一切正常
git format-patch

将此补丁作为附件发送到某处,然后使用

git am --keep-cr *.patch

以便将此提交存储在另一个仓库中。

但是:如果我FIX前面没有[MOD_A](即[MOD_A] Fixed something),则其他消息的开头就会丢失做git am后的回购。整个提交消息仅为Fixed something

我怀疑它与git format-patch生成的电子邮件主题行的格式有关:

Subject: [PATCH 23/27] [MOD_A] Fixed something

似乎因为[PATCH 23/27]括在方括号中,所以[MOD_A]也会被忽略。

有没有办法让我的[MOD_A] 被忽略?

2 个答案:

答案 0 :(得分:3)

如果您可以在没有[PATCH x/x]的情况下自动添加到主题行, 您可以git format-patch -k然后git am -k ...

我假设只是将补丁推送到另一个回购不是一个选项

答案 1 :(得分:2)

使用git作为版本“1.8.4”(可能在之前),您也可以使用:git am --keep-non-patch。它将-b标记传递给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".

Emanuele的