zoukankan      html  css  js  c++  java
  • git命令_保存本地变更+拉取+合并代码+推送代码到远程仓+添加CI触发器变量

      git命令提供一整套操作命令,但是如果一个一个操作的话有点麻烦,如果仅仅是正常的合并操作的话,那么完全是没有必要做那么多操作的; 如果遇到了冲突,那么提示我们修改就好了。

      按照这个需求,写了一套git操作命令:

      

    echo "欢迎来到git流水线工厂!共10步"
    
    echo "1/10- 获取当前GIT仓库里面当前分支名"
    branchName=`git symbolic-ref --short -q HEAD` ##获取当前分支名
    
    echo "当前分支名称: $branchName"
    
    echo "2/10- 请输入本次提交GIT仓库的说明信息(fix,refactor):"
    read commitMessage
    
    echo "3/10- 请选择要发布的对象:"
    echo "1-shop"
    echo "2-sso"
    echo "3-全部(shop,sso,crm)"
    echo "其他=1"
    
    read ciPosition
    ciName="shop"
    
    if [ -z "$ciPosition" ]; then
        ciName="shop"
    elif [ "$ciPosition" == "2" ]; then
        ciName="sso"
    elif [ "$ciPosition" == "3" ]; then
        ciName="帅哥"
    else
        ciName="shop"
    fi
    echo "您选择要执行CI发布的对象为:$ciName"
    
    echo "4/10- 正在执行:将本地修改的内容提交到本地GIT搁置区..."
    git stash
    
    echo "5/10- 正在执行:拉取GIT远程仓库代码..."
    git pull origin $branchName
    
    echo "6/10- 正在执行:将本地GIT搁置区里最新修改的内容还原到本地GIT未暂存区..."
    git stash pop
    
    echo "7/10- 正在执行:检查合并代码是否存在冲突..."
    #如果你修改本文件,请手动提交
    chongtu=`git diff dev | grep "<<<"`
    
    if [ -n "$chongtu" ]; then
        echo -e "33[31m 合并代码存在冲突!!! 请手动合并后再试... 33[0m"
    else
        echo "合并代码冲突检查结果:正常..."
        
        echo "8/10- 将本地GIT未暂存区最新修改的内容提交到本地GIT暂存区..."
        git add .
    
        echo "9/10- 正在执行:将本地GIT暂存区最新修改的内容提交到本地GIT仓库..."
        git commit -m "$commitMessage"
    
        echo "10/10- 正在执行:将本地GIT仓库最新修改的内容推送到远程GIT仓库,同时执行GitLab CI/CD自动化操作..."
        git push -o ci.variable="MESHOP_BUILD_ONLY=$ciName" origin $branchName
    
        # echo 8- 正在执行:清除本地GIT搁置区里所有内容(流程执行有问题)...
        # git stash clear
        
        echo -e "33[32m 这一波GIT骚操作全部已完整... 33[0m"
    fi
    
    read -p "请按任意键退出!" -n 1
     
  • 相关阅读:
    转载《XAMPP安装和使用教程》(转)
    EA经典教程(转)
    something to note
    XAMPP安装说明及操作指南 (转)
    Use vCard Objects in RDF/XML (转)
    word2007的相关操作如删除标记区等 及firefox 修改颜色
    jsp和servlet重定向
    HowToMakeCustomSearch
    关于树型dropdownlist的绑定
    在ASP.NET中显示进度条
  • 原文地址:https://www.cnblogs.com/lxhbky/p/13675012.html
Copyright © 2011-2022 走看看