2021/11/29
はじめに
私は.git
の入るディレクトリの多くを同一ディレクトリに配置している.
おそらく,そのような配置方法をしている人は多いのではと思っている.
そこで,自分用に作成したシェルスクリプトを公開しておく.
スクリプト
allpull.sh
#!/usr/bin/env bash
BASEDIR=$PWD
echo "[BASE DIR] " $BASEDIR
repositories=(`ls`)
for repository in ${repositories[@]}
do
if [[ -d "${BASEDIR}/${repository}" && -d "${BASEDIR}/${repository}/.git" ]];then
echo $repository
cd ${BASEDIR}/${repository}
git pull
fi
done
解説
シバン
#!/usr/bin/env bash
変数準備
ディレクトリを移動してgit pull
を実行するため,直接cd
するためにカレントディレクトリを準備しておく.
BASEDIR=$PWD
ループ用の変数を準備
カレント配下の全てをls
により取得,これはループに使う.
echo "[BASE DIR] " $BASEDIR
repositories=(`ls`)
ループ
repositories
の各要素をrepository
としてループする.
その中で,(1)変数がディレクトリであり,(2).git
を持っている,ものにcd
し,git pull
する.
for repository in ${repositories[@]}
do
if [[ -d "${BASEDIR}/${repository}" && -d "${BASEDIR}/${repository}/.git" ]];then
echo $repository
cd ${BASEDIR}/${repository}
git pull
fi
done
おわりに
自分のみで管理してるリポジトリだけだとそんなに恩恵を受けられないが,複数開発が増えると便利!
参考
すみません..過去に作ったものなので記録していません...