shell指令碼--多個程式碼庫批量pull最新master程式碼
阿新 • • 發佈:2020-10-10
介紹
經常會碰到這樣的問題,自己有多個程式碼庫,每次用IDE開啟程式碼後,做的第一件事就是git pull origin master,也就是拉取遠端master最新的程式碼。
這種其實是比較噁心的,如果同時開啟多個程式碼庫,就需要執行n次命令來獲取最新程式碼,於是就想著寫個指令碼來完成所有專案的程式碼更新吧。
指令碼也很簡單,步驟如下:
1.進入包含所有專案的目錄下;
2.利用ls檢視所有的資料夾(每個資料夾都是一個專案);
3.將ls的結果進行遍歷(利用xargs,將每一個目錄佔一行);
4.迴圈迭代,進入到每個專案的目錄,然後切換到master分支並pull最新程式碼;
5.返回上一層
6.繼續迴圈迭代;
原文地址:https://www.cnblogs.com/-beyond/p/13792838.html
指令碼內容
指令碼如下,命名為pull-master.sh
#/bin/bash projects_base_dir=$1 cd $projects_base_dir for project in `ls | xargs -n 1` do cd $project git checkout master &> /dev/null git pull origin master &> /dev/null echo "finish update " $project cd .. done
使用示例
假設~/code/projects目錄下包含所有專案的程式碼,那麼就將該路徑作為指令碼的引數,執行命令:
sh pull-master.sh ~/code/projects # 或者 # ./pull-master.sh ~/code/projects