6

给定带有消息“foo”的提交,即只有摘要部分,我会这样做git cherry-pick -x the_commit。结果是带有消息的新提交

foo 
(从提交 eb42a6475d2c2e4fff7a1b626ce6e27eec21e886 中挑选的樱桃)
现在这样不好,因为它是一个两行摘要,这似乎是 git 中的一个错误。

但是如何在不手动编辑评论的情况下让 git 使评论如下所示?

foo 

(从提交 eb42a6475d2c2e4fff7a1b626ce6e27eec21e886 中挑选的樱桃)
4

1 回答 1

7

你是对的,这似乎是一个疏忽。您可以向git 邮件列表发送电子邮件,看看他们的想法!不过,现在你必须自己处理它。

处理这个问题的好方法是完全避免它:使原始提交消息良好。如果它已经是多行的,并且其中有空行,则樱桃挑选的附加行不会破坏格式。

为了解决这个问题,鉴于樱桃挑选的提交有一个单行消息,正如你所说,你可以使用-e樱桃挑选的选项。如果您使用的是 Vim,最坏的情况是您必须点击ggo<Esc>ZZ处理它。

或者你可以写一个 prepare-commit-msg 钩子。您需要的只是:

#!/bin/bash
sed -i '2s/^(cherry picked/\n&' "$1"
于 2010-11-15T14:06:50.490 回答