• 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
  • 相关阅读:
    Asp.net SignalR 实现服务端消息推送到Web端
    C#使用Quartz.NET详解
    Ubuntu 安装部署hugegraph
    chapter10.1、异常处理
    chapter13.2、SQLAlchemy
    chapter9.5、描述器
    chapter9.3、可调用对象,上下文管理
    chapter9.4、魔术方法反射
    chapter9.1、魔术方法
    chapter7.1、数据分发与队列queue
  • 原文地址:https://www.cnblogs.com/-mrl/p/13846118.html
Copyright © 2020-2023  润新知