SourceTree自动拉取提交GIT代码 + shell脚本
SourceTree自动拉取提交GIT代码
www&api_pull&push_restore.sh

1 echo "欢迎使用 GIT 流水线操作!共10步" 2 3 echo "0/10- 正在执行:清除本地GIT搁置区里所有内容..." 4 git stash clear 5 6 echo "1/10- 正在执行:获取当前GIT仓库里面当前分支名" 7 branchName=`git symbolic-ref --short -q HEAD` ##获取当前分支名 8 9 echo -e "\033[43;35m 当前GIT分支名称: $branchName \033[0m" 10 11 echo "2/10- 正在执行:请输入本次提交GIT仓库的说明信息(默认追加fix标记):" 12 read commitMessage 13 commitMessage="fix: $commitMessage" 14 15 echo "3/10- 使用CI管道发布的对象,请输入下面其中一个数字:" 16 echo " 1-shop" 17 echo " 2-sso" 18 echo " 3-shop&sso(shop,sso)" 19 echo " 4-全部(shop,sso,crm)" 20 echo " 默认不写,表示不使用CI管道发布对象" 21 22 read ciPosition 23 ciName="" 24 25 if [ "$ciPosition" == "1" ]; then 26 ciName="shop" 27 elif [ "$ciPosition" == "2" ]; then 28 ciName="sso" 29 elif [ "$ciPosition" == "3" ]; then 30 ciName="shop,sso" 31 elif [ "$ciPosition" == "4" ]; then 32 ciName="王云鹏是帅哥" 33 fi 34 35 echo -e "\033[43;35m 您选择要执行CI发布的对象为:$ciName \033[0m" 36 37 echo "4/10- 正在执行:将本地修改的内容提交到本地GIT搁置区..." 38 git stash 39 40 echo "5/10- 正在执行:拉取GIT远程仓库代码..." 41 git pull origin $branchName 42 43 echo "6/10- 正在执行:将本地GIT搁置区里最新修改的内容还原到本地GIT未暂存区..." 44 git stash pop 45 46 echo "7/10- 正在执行:检查合并代码是否存在冲突..." 47 #如果你修改本文件,请手动提交 48 chongtu=`git diff dev | grep "<<<"` 49 50 if [ -n "$chongtu" ]; then 51 echo -e "\033[5m 合并代码存在冲突!!! 请手动合并后再尝试... \033[0m" 52 else 53 echo -e "\033[43;35m 合并代码冲突检查结果:正常... \033[0m" 54 55 echo "8/10- 正在执行:将本地GIT未暂存区最新修改的内容提交到本地GIT暂存区..." 56 git add . 57 58 echo "9/10- 正在执行:将本地GIT暂存区最新修改的内容提交到本地GIT仓库..." 59 git commit -m "$commitMessage" 60 61 if [ -n "$ciName" ]; then 62 echo "10/10- 正在执行:将本地GIT仓库最新修改的内容推送到远程GIT仓库,同时执行CI管道发布对象..." 63 git push -o ci.variable="MESHOP_BUILD_ONLY=$ciName" origin $branchName 64 else 65 echo "10/10- 正在执行:将本地GIT仓库最新修改的内容推送到远程GIT仓库..." 66 git push origin $branchName 67 fi 68 69 echo -e "\033[32m 这一波GIT骚操作全部已完成... \033[0m" 70 fi 71 72 read -p " 请按任意键退出!" -n 1
分类:
git
标签:
git
, sourcetree
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现