我在脚本中有这个:
set -e;
base="remotes/origin/dev";
git checkout --no-track -b "$new_branch";
git rebase "$base";
有时,当然会出现冲突,并且发生的情况是 git rebase 以 1 退出,因此脚本提前中止/退出。
因此,如果存在冲突,我的自动化脚本将无法工作,这种冲突足够频繁,以至于无法达到目的。
我的问题是,是否有某种方法可以在出现非零退出代码时暂停脚本,然后在出现信号或其他情况时恢复脚本?像这样的东西:
git rebase "$base" || suspend --until x;
所以在其他终端中我可以解决问题,然后当我在当前终端中完成时我可以恢复?类似的事情?
答案1
要运行该命令一次,但因失败而暂停:
if ! git rebase "$base"; then
read -p "Press ENTER when you think you've fixed it"
fi