場(chǎng)景:在公司用的是SourceTree
轴踱,會(huì)有一個(gè)自己的代碼倉(cāng)庫(kù)汤踏,還有主的代碼倉(cāng)庫(kù)泥从,
經(jīng)常會(huì)用到自定義操作句占,當(dāng)然關(guān)于打開工程 ,打開項(xiàng)目這個(gè)自定義操作之前是有人寫了的躯嫉,我主要是根據(jù)自己的情況來寫了兩個(gè)纱烘。
我們?cè)谥鱾}(cāng)庫(kù)上會(huì)有一個(gè)code Review
的過程,
我們?cè)谧约旱膫}(cāng)庫(kù)上會(huì)有一個(gè)提交merge_requests
到主倉(cāng)庫(kù)讓別人code Review
的操作祈餐,每次打開瀏覽器太麻煩了擂啥,當(dāng)然有些人書簽 也沒存,已經(jīng)習(xí)慣了這些繁瑣的操作帆阳,于是我就邊上班寫代碼邊抽時(shí)間寫了這個(gè)腳本哺壶,第一次寫好緊張,查了好多資料蜒谤,終于成功山宾,當(dāng)然還有些還待優(yōu)化,比如用Chrome
打開地址啊鳍徽,有些人可能裝的是Firefox
這個(gè)得處理资锰,如果有時(shí)間
#!/bin/bash
# 這兩個(gè)是傳進(jìn)來的參數(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,進(jìn)行merge_requests
#echo ${test2}
if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then
/usr/bin/open -a "/Applications/Google Chrome.app" $test2"/merge_requests"
fi
else #不包含mobile,進(jìn)行/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服務(wù)器的域名/http://這里是我們公司的內(nèi)部gitLab服務(wù)器的IP地址}
test5=${test4/git@這里是我們公司的內(nèi)部gitLab服務(wù)器的IP地址/http://這里是我們公司的內(nèi)部gitLab服務(wù)器的IP地址}
echo ${test5}
httpStr="mobile"
if [[ $test5 == *$httpStr* ]]
then #包含mobile,進(jìn)行merge_requests
echo ${test5}
if [ "$isDoNewImerge_requestsAction" != "isNewImerge_requests" ]; then
/usr/bin/open -a "/Applications/Google Chrome.app" $test5"/merge_requests"
fi
else #不包含mobile,進(jìn)行/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/我的堅(jiān)果云/openXproj.sh $REPO xcworkspace
2阶祭、打開工程
/Users/mac/Documents/我的堅(jiān)果云/openXproj.sh $REPO xcodeproj
3台妆、提代碼到主倉(cāng)庫(kù)
/Users/mac/Documents/我的堅(jiān)果云/testShell.sh $REPO isNewImerge_requests
4翎猛、主倉(cāng)庫(kù)CodeReview
/Users/mac/Documents/我的堅(jiān)果云/testShell.sh $REPO codeReview