2

我正在编写一个进行一些 git 调用的 shell 脚本。特别是,我正在寻找一种方法来确定 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 回答