我正在尝试从一个分支到另一个分支挑选一个提交。请考虑以下情形。
分支A-> commit1->提交消息“ 12345 Hello World”
我想在进行樱桃挑选的同时在提交消息的开头添加新消息。因此,在摘樱桃之后,它应该看起来像
分支B-> commit2->提交消息“ 98765 ........”
我要添加98765,这是额外的消息。在Git文档中,我找到了一个命令“ git cherry-pick --edit”,但没有找到任何示例来理解其正确用法。
答案 0 :(得分:2)
关于git cherry-pick --edit
的解释不多。如果您选择--edit
选项,Git将在提交之前弹出提交消息编辑器窗口。在那里,您可以根据需要自定义提交消息。
关于为什么的后勤工作是有可能的,当您选择提交时,您实际上是在进行 new 提交。因此,没有什么可以阻止您使用所需的任何提交消息的了。
答案 1 :(得分:0)
从注释中,您想要的是使编辑自动进行,而不是让git在编辑器窗口中向您显示提交消息。
为此,编写一个脚本以所需的方式编辑消息。您的脚本将收到一个文件名作为其第一个命令行参数,并且它必须就地更新该文件。例如,您可以使用类似于以下内容的perl脚本:
open my $fh, '+<', $ARGV[0] or die;
local $/ = undef;
my $a = <$fh>;
seek $fh,0,0;
print $fh "new content $a";
close $fh;
然后,您可以将此脚本指定为cherry-pick
cmmand使用的编辑器
git -c core.editor="perl /path/to/your/script.pl" cherry-pick --edit <commit>
答案 2 :(得分:0)
感谢大家的快速反应。我发现下面的方式对我的情况有帮助。这将分两步完成。
不使用-n提交给目标的樱桃选择。
git cherry-pick -n <hash>
然后执行提交操作。
git commit -m <message>