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