2

いくつかの git 呼び出しを行うシェル スクリプトを作成しています。特に、git rebase 呼び出しが成功したかどうか、またはマージの競合があるかどうかを判断する方法を探しています。これは私がこれまでに持っているものです。

returnStatus=$(git rebase master);
if [[ returnStatus == 1 ]]; then
    break;
else
    echo $branch; echo "rebased successfully";
fi

ただし、最初の行には戻り値が格納されているのではなく、rebase 呼び出しの実際の出力が格納されていると思います。それが成功したかどうかを知る必要があります。これどうやってするの?

前もって感謝します!どんなアドバイスでも大歓迎です。

4

2 に答える 2

3

$?最後のコマンドの終了コードが含まれています。たとえば、実行できます

git rebase ...
case $? in
    0) ... ;;
    1) ... ;;
    ...
esac
于 2013-11-04T22:58:43.683 に答える
3

これだけでできます:

if git rebase master; then
    echo "$branch"
    echo "rebased successfully"
else
    break
fi

なぜあなたがそこにいるのかわかりませんbreak...ループに入っていますか?それ以外の場合は、おそらくexit...

于 2013-11-04T22:59:00.060 に答える