自動化されたスクリプトがgit rebaseをマージできるようにする

自動化されたスクリプトがgit rebaseをマージできるようにする

スクリプトには次のものがあります。

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

関連情報