我們在日常執(zhí)行代碼提交的時候最常執(zhí)行的命令流程為:
git add -A
git commt -m"commit something"
git pull
git push
而在前三個步驟,大多數(shù)情況下是不會出現(xiàn)問題,經(jīng)常性的順序敲三個命令盒使,是否可以偷懶一下只執(zhí)行一句命令呢?我們來試一下用shell腳本執(zhí)行以上三個步驟态秧。
新建shell腳本
我們在某個路徑下建一個.sh文件,為了將偷懶發(fā)揮到極致扼鞋,就選擇 "~/" 用戶目錄路徑吧申鱼。
cd ~/
sudo vi gitpull.sh
英文模式下按 "i" 進入編輯模式,
考慮到每次commit要寫備注云头,我們就用shell的傳參方式實現(xiàn)備注信息的傳入捐友。考慮到 git pull 之后可能需要解決代碼沖突溃槐,所以自動執(zhí)行腳本只到 git pull 這一步而已匣砖。 腳本內(nèi)容為:
msg=$1 # $1為第一個參數(shù)
git add -A
git commit -m"${msg}"
git pull
git status
按“esc”鍵退出編輯模式, shift + 冒號 ,輸入“wq”保存退出vim 編輯器猴鲫。
賦予腳本權(quán)限
此時執(zhí)行腳本會報權(quán)限不足的錯誤对人,我們還需要給 .sh腳本賦予權(quán)限
chmod 755 gitpull.sh
開始偷懶吧,測試一下
我們 cd 到項目里拂共,對文件進行改動牺弄,如,新建一個 test.txt 文件
touch test.txt
查看狀態(tài):
git status
發(fā)現(xiàn) text.txt 文件待 add 宜狐,開始執(zhí)行我們的提交腳本吧
~/gitpull.sh 提交測試文件
刷拉拉下來势告,完成提交以及 pull,肉眼查看沒有沖突抚恒,然后就可以進行 git push 推到遠(yuǎn)程庫了咱台。
優(yōu)化
以上腳本已經(jīng)實現(xiàn)了 git add -A 到 git pull 的日常提交操作,有個小問題就是俭驮,當(dāng)你手快忘記寫注釋回溺,如
~/gitpull.sh
此時執(zhí)行到 git commit -m"${msg}" 是會停止的。為了更友好表鳍,我們把提示信息添加上去吧馅而,修改腳本如下:
msg=$1
if [ -n "$msg" ]; then
git add -A
git commit -m"${msg}"
git pull
git status
echo "完成add、commit譬圣、pull,別忘了push"
else
echo "請?zhí)砑幼⑨屧賮硪槐?
fi
好了雄坪,如此厘熟,在沒有添加注釋的時候就會有提示了 ,在需要日常提交的時候使用一下命令即可
~/gitpull.sh something
記得最后要 push!