我正在使用一個小腳本將當前分支合併到主幹並將其推出。如果nosetests 失敗,如何讓腳本失敗?
#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1
答案1
在 shebang 行後面添加set -e
,以使腳本在任何命令失敗時退出:
#!/bin/bash
set -e
git checkout $1
nosetests
從help set
:
-e 如果命令以非零狀態退出,則立即退出。
答案2
你可以嘗試以下方法。
#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1
將||
檢查返回碼,如果不為零則nosetests
執行該命令。exit 1
另一種變體可能是。
#!/bin/bash
git checkout $1
if ! nosetests
then
exit 1
fi
git checkout master
git merge $1
git push
git checkout $1