全量更新當(dāng)前目錄下所有GIT目錄

全量更新當(dāng)前目錄下所有GIT目錄
sh gitpull.sh

#/bin/sh
#全量更新當(dāng)前目錄下素有其它目錄
ls
pwd
echo "你將更新以上git目錄的當(dāng)前分支"
echo -e "請輸入確認(rèn)[y/n]:"
dirNameBase=${PWD}

read sure
if [[ $sure != 'y' ]]; then
    echo "已取消,退出本次部署"
    exit
fi


modifiedDirArray=()
for k in $(ls $(pwd))
do
    cddir="${dirNameBase}/${k}"
    cd ${cddir}
    dirName=${PWD##*/}
    echo "dirName=${dirNameBase}/${k}"
    gitStatus=$(git status)
    if [[ $gitStatus == *repository* ]]
    then
        echo "$dirName 目錄不是git倉庫"
        cd ..
        continue
    fi
    gitBranch=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')
    echo "操作模塊:" $dirName "中..."
    if [[ $gitStatus == *modified* ]]
    then
        modifiedDirArray+=($dirName)
        echo "    當(dāng)前分支: ${gitBranch} 存在未提交代碼,請手動更新"
    else
        git pull &> /dev/null
        echo "    當(dāng)前分支: ${gitBranch} 已經(jīng)升級到最新"
    fi
    cd ..
done

modifiedCount=${#modifiedDirArray[@]}
if [ $modifiedCount -eq 0 ]; then
    echo "所有模塊的當(dāng)前分支都已經(jīng)更新到最新"
else
    echo "以下 $modifiedCount 個模塊未完成更新:"
    printf '%s\n' "${modifiedDirArray[@]}"
fi
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容