git linux服務器拉取代碼sh腳本,批量拉取git代碼


用於項目上線 或者 最新git代碼拉取

pull.sh

echo "loading..."

cd /www/blog

#沒有提交的修改暫存到stash里面
git stash

curr_branch=$(git symbolic-ref --short -q HEAD)
pull_branch="master"

if [ ${curr_branch} != ${pull_branch} ]; then
   git checkout ${pull_branch} 
fi

git pull

#php /www/blog/init --env=prod --overwrite=all

 

批量拉取代碼

push-all.sh

#!/bin/bash

# 確保腳本拋出遇到的錯誤
set -e
echo 項目路徑:$1
current_branch=$(git symbolic-ref --short -q HEAD) ##獲取當前分支名
echo 當前分支: $current_branch

if [ -n "$(git status -s)" ]; then
  echo 有文件變更,請先處理,再執行
  read -p "按任意鍵關閉" -n 1
  exit 1
fi

#沒有提交的修改暫存到stash里面
#git stash

projectArr=("main" "test2")

for project in ${projectArr[@]}; do
  if git branch | grep ${project}; then
    echo
    echo "......................切換並拉取本地分支 $project ...................."
    newest_branch=$(git symbolic-ref --short -q HEAD)
    if [ ${newest_branch} != ${project} ]; then
      git checkout $project
    fi
    git pull
    echo "........................操作完成....................................."
    echo
  else
    if git branch -rv | grep ${project}; then
      echo
      echo "......................切換並拉取遠程分支 $project ...................."
      git checkout -b ${project} origin/${project}
      echo "........................操作完成....................................."
      echo
    else
      echo $project分支不存在
      read -p "按任意鍵關閉" -n 1
      exit 1
    fi
  fi
done

read -p "按任意鍵關閉" -n 1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM