1. 程式人生 > 實用技巧 >shell指令碼--多個程式碼庫批量pull最新master程式碼

shell指令碼--多個程式碼庫批量pull最新master程式碼

介紹

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