用於項目上線 或者 最新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
