Mac OS X Shell 實戰(zhàn)之SourceTree自定義操作

場景:在公司用的是SourceTree,會有一個自己的代碼倉庫,還有主的代碼倉庫,
經(jīng)常會用到自定義操作,當然關于打開工程 ,打開項目這個自定義操作之前是有人寫了的,我主要是根據(jù)自己的情況來寫了兩個。
我們在主倉庫上會有一個code Review的過程,
我們在自己的倉庫上會有一個提交merge_requests到主倉庫讓別人code Review的操作,每次打開瀏覽器太麻煩了,當然有些人書簽 也沒存,已經(jīng)習慣了這些繁瑣的操作,于是我就邊上班寫代碼邊抽時間寫了這個腳本,第一次寫好緊張,查了好多資料,終于成功,當然還有些還待優(yōu)化,比如用Chrome打開地址啊,有些人可能裝的是Firefox這個得處理,如果有時間

image.png


#!/bin/bash
# 這兩個是傳進來的參數(shù)
如上圖
repoPath=$1
isDoNewImerge_requestsAction=$2

for remoteRepoName in $(git remote); do
remoteUrls="git remote get-url --push ""${remoteRepoName}"
for remoteUrl in $(${remoteUrls}); do
httpStr="http"
if [[ $remoteUrl == *$httpStr* ]]
then #"包含http"
test2=${remoteUrl%".git"}
httpStr="mobile"
if [[ $test2 == *$httpStr* ]]
then #包含mobile,進行merge_requests
#echo ${test2}
if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then
/usr/bin/open -a "/Applications/Google Chrome.app"  $test2"/merge_requests"

fi
else #不包含mobile,進行/merge_requests/new
echo ${test2}
#isNewImerge_requests
if [ "$isDoNewImerge_requestsAction" == "isNewImerge_requests" ]; then
/usr/bin/open -a "/Applications/Google Chrome.app"  $test2"/merge_requests/new"
fi
fi


else #不包含http

test1=${remoteUrl#"git@git."}
test2=${test1%".git"}
test3=${test2/://}
test4=${test3/這里是我們公司的內(nèi)部gitLab服務器的域名/http://這里是我們公司的內(nèi)部gitLab服務器的IP地址}
test5=${test4/git@這里是我們公司的內(nèi)部gitLab服務器的IP地址/http://這里是我們公司的內(nèi)部gitLab服務器的IP地址}

echo ${test5}
httpStr="mobile"
if [[ $test5 == *$httpStr* ]]
then #包含mobile,進行merge_requests
echo ${test5}
if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then

/usr/bin/open -a "/Applications/Google Chrome.app"  $test5"/merge_requests"
fi
else #不包含mobile,進行/merge_requests/new
if [ "$isDoNewImerge_requestsAction" = "isNewImerge_requests" ]; then
/usr/bin/open -a "/Applications/Google Chrome.app"  $test5"/merge_requests/new"
fi
fi

fi
done
done

1、打開工作空間
/Users/mac/Documents/我的堅果云/openXproj.sh $REPO xcworkspace
2、打開工程
/Users/mac/Documents/我的堅果云/openXproj.sh $REPO xcodeproj
3、提代碼到主倉庫
/Users/mac/Documents/我的堅果云/testShell.sh $REPO isNewImerge_requests
4、主倉庫CodeReview
/Users/mac/Documents/我的堅果云/testShell.sh $REPO codeReview

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容