我需要在 CI CD 期間從一個分支合并到另一個分支。我',正在尋找一種在合并后檢測沖突的方法,從而停止行程并發出警報。這就是我現在所擁有的:
#! /bin/bash
echo 'start'
function do_merge() {
git merge auto
}
function is_merge_ok(){
local merge_response = $(do_merge)
local SUB = 'error'
if [[ "$merge_response" == "*$SUB*" ]]; then
echo 'false'
else
echo 'true'
fi
}
local was_merge = $(is_merge_ok)
if [[ "$was_merge" == "false" ]]; then
exit(1)
else
exit(0)
fi
但它沒有得到錯誤。有沒有辦法實作它?謝謝
uj5u.com熱心網友回復:
git merge 已經有一個指示成功或失敗的退出代碼。
直接git merge auto在您的if:
if git merge auto; then
echo "sucess !"
else
exitcode=$?
echo "failure"
exit $exitcode
fi
或在執行后立即存盤退出代碼git merge auto以供以后比較:
git merge auto
exitcode=$?
... # do something else
if [ $exitcode -eq 0 ]; then
echo "success"
else
echo "failure"
fi
您當前的腳本大致相當于:
if git merge auto; then
exit 0;
else
exit 1;
fi
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417457.html
標籤:
上一篇:在安裝了git的Docker容器中獲取“git:找不到命令”
下一篇:在陣列宣告中使用雙變數-錯誤替換
