给定带有消息“foo”的提交,即仅包含摘要部分,我执行git cherry-pick -x the_commit
。结果是带有消息foo的新提交(从提交eb42a6475d2c2e4fff7a1b626ce6e27eec21e886中选取的樱桃)
现在不好了,因为它是两行总结,似乎是git中的错误。
但是,如何在不手动编辑注释的情况下使git使注释如下所示?
foo(从提交eb42a6475d2c2e4fff7a1b626ce6e27eec21e886摘来的樱桃)
最佳答案
您说对了,这似乎是对的,这是对的。您可以向git mailing list发送电子邮件,看看他们的想法!现在,您必须自己处理。
解决此问题的好方法是完全避免:使原始提交消息良好。如果它已经是多行,并且其中有空行,那么从Cherry-pick追加的行将不会弄乱格式。
要解决此问题,就像您说的那样,考虑到 cherry-pick 的提交具有单行消息,您可以对 cherry-pick 使用-e
选项。如果您使用的是Vim,最坏的情况是必须打ggo<Esc>ZZ
来处理它。
或者,您可以编写一个prepare-commit-msg Hook 。您需要的是:
#!/bin/bash
sed -i '2s/^(cherry picked/\n&' "$1"