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 ответа
Если вы можете жить без [PATCH x/x]
автоматически добавляется в строку темы, вы можете сделать git format-patch -k
а потом git am -k ...
я полагаю, просто выдвинуть ваши патчи в другой репо не вариант
С 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