git cherry-pick --continue,' - no-edit'选项?

Har*_*ren 11 git git-cherry-pick

我正在编写一个用于迁移git repos的脚本.关于樱桃挑选冲突,我跑

git add .
git cherry-pick --continue
Run Code Online (Sandbox Code Playgroud)

这会调出vim,提示我保存提交消息并冻结脚本.我正在寻找一个命令行选项,--no-edit或者--porcelain来解决这个问题.

丑陋的终端黑客也可能受到欢迎;)

tor*_*rek 17

正如Zildyan在答案中所说,你需要在做之前解决所有冲突git add.因此,您不应该完全自动化.

也就是说,要跳过编辑提交消息,您只需将编辑器设置为不执行任何操作并报告成功的命令.类Unix系统的理想选择就是true命令.因此:

git -c core.editor=true cherry-pick --continue
Run Code Online (Sandbox Code Playgroud)

会做的.(您也可以使用任何环境变量GIT_EDITOR,VISUALEDITOR;并且实际上,如果设置了任何一个,您必须使用它们而不是core.editor因为序列是:$GIT_EDITOR如果设置了则使用;否则使用$VISUALif if set; else使用$EDITOR如果它被设置;否则使用core.editor,如果它被设置;否则使用什么是内置在这个版本的Git)