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 "\033[31m 合并代码存在冲突!!! 请手动合并后再试... \033[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 "\033[32m 这一波GIT骚操作全部已完整... \033[0m" fi read -p "请按任意键退出!" -n 1
*感谢您的阅读。喜欢的、有用的就请大哥大嫂们高抬贵手“推荐一下”吧!你的精神 支持是博主强大的写作动力。欢迎转载!
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/