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
www&api_pull&push_restore.sh

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM