在shell脚本中获取git返回值

时间:2013-11-04 22:56:06

标签: git bash rebase

我正在编写一个shell脚本来进行一些git调用。特别是,我正在寻找一种方法来确定git rebase调用是否成功或是否存在合并冲突。这是我到目前为止所做的。

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

但是,我认为第一行不存储返回值,而是存储rebase调用的实际输出。我需要知道它是否成功。我怎么能这样做?

提前致谢!任何建议都非常感谢。

2 个答案:

答案 0 :(得分:3)

$?包含最后一个命令的退出代码。你可以执行例如。

git rebase ...
case $? in
    0) ... ;;
    1) ... ;;
    ...
esac

答案 1 :(得分:3)

这应该做:

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

我不知道为什么你有break ......你在循环中吗?否则你可能意味着exit ......