介紹
經常會碰到這樣的問題,自己有多個代碼庫,每次用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