前言
在實(shí)際開發(fā)中,我們很頻繁的需要從git遠(yuǎn)程倉(cāng)庫(kù)拉取master代碼建立分支進(jìn)行開發(fā),開發(fā)完畢后歪架,我們需要push到遠(yuǎn)程進(jìn)行build、部署和測(cè)試霹陡,這里博主根據(jù)自己的情況和蚪,編寫了一個(gè)git腳本,讓我們只需要關(guān)心開發(fā)代碼烹棉,至于開發(fā)代碼前的git操作步驟自動(dòng)化完成~(關(guān)于博主的另外一篇git的博客:《工程化專題之Git》)
一個(gè)自動(dòng)化腳本
運(yùn)行這個(gè)git腳本攒霹,需要項(xiàng)目名/git clone url/你的開發(fā)分支名稱(比如feature/xxx)
上面腳本的意思,就是想在特定的目錄中峦耘,進(jìn)行g(shù)it clone剔蹋,并從master新建本地開發(fā)分支。
把本地開發(fā)分支push到遠(yuǎn)程辅髓,并建立它們之間的關(guān)聯(lián)關(guān)系泣崩,之后就可以打開idea進(jìn)行開發(fā)啦~
運(yùn)行結(jié)果
腳本內(nèi)容
#!/bin/sh
#腳本執(zhí)行需要3個(gè)參數(shù)
if [ $# -eq 3 ]
then
? echo "開始執(zhí)行g(shù)it腳本..."
? echo "項(xiàng)目名:$1 , git克隆地址:$2 , 你的新建分支名稱:$3"
else
? echo "腳本執(zhí)行需要3個(gè)參數(shù):項(xiàng)目名 git克隆地址 你的新建分支名稱"
? exit -1
fi
#獲取當(dāng)前執(zhí)行腳本路徑
dir=`pwd`
#獲取今天的日期,格式:yyyymmdd
time=`date +%Y%m%d`
#項(xiàng)目名
project=$1
#git clone 地址
gitcloneurl=$2
#你的本地分支名稱
feature=$3
#刪除目錄,為新建目錄做準(zhǔn)備
rm -rf "${project}-${time}"
mkdir "$dir"/"${project}-${time}"
cd "$dir"/"${project}-${time}"
#git clone
git clone "$gitcloneurl"
if [ $? -ne 0 ]; then
? echo "git clone url 錯(cuò)誤"
? exit -1
fi
#切換到項(xiàng)目根目錄
cd "$dir"/"${project}-${time}"/"${project}"
#從master新建本地分支
git checkout -b "$feature"
#git push,創(chuàng)建遠(yuǎn)程分支
git push origin "$feature":"$feature"
if [ $? -ne 0 ]; then
echo "git push 錯(cuò)誤"
exit -1
fi
#建立本地分支與遠(yuǎn)程分支的關(guān)聯(lián)關(guān)系,為push做準(zhǔn)備
git branch --set-upstream-to=origin/"$feature"
#查看分支建立情況
git branch -vv
echo "you can open IntelliJ IDEA to write Java code..."
到這里洛口,就結(jié)束了矫付,希望對(duì)你有幫助,^_^
2018-07-18
create by zhangfengzhe