如果 "git cherry-pick" 失败,我如何从脚本中判断?

How can I tell, from a script, if "git cherry-pick" fails?

如果 cherry-pick 由于合并冲突而失败,它只是 returns 退出状态 0。

请不要告诉我 --abort。我需要在脚本中检测原始 cherry-pick 命令是否失败。

在 CentOS 7.2 上使用 git 版本 1.8.3.1。

编辑:我的脚本在 if ! 中进行了挑选,但我没有在 then 子句中以非零退出正确退出。抱歉噪音。

$? 保存 bash.

中最后一个进程 运行 的 return 代码
$ ls /dev/null/foo
ls: /dev/null/foo: Not a directory
$ echo $?
1

您可以调用 git status 或等效函数并检查其输出是否为正常的“跟踪前 1”状态或 "merge" 状态。