💨
Windows で複数の Git リポジトリを一括で pull するバッチファイルを作ってみた
複数の Git リポジトリを一括で pull したい場合に便利なバッチファイルです。
以下のような構成になっていることを想定しています。
ルートフォルダ
├ 本バッチファイル
├ リポジトリのフォルダ1
├ リポジトリのフォルダ2
├ リポジトリのフォルダ3
:
@echo off
setlocal enabledelayedexpansion
SET MY_FOLDER=%~dp0
REM ここにインストールしたgitのパスをセット
SET GIT="c:\git\bin\git"
echo.
echo ============================
echo git 最新化
echo ============================
echo.
for /F "usebackq" %%u in (`dir "%MY_FOLDER%" /B /A:D`) do (
SET TARGET_PATH=%MY_FOLDER%%%u
if exist "!TARGET_PATH!\.git" (
echo ***** !TARGET_PATH! *****
cd /d "!TARGET_PATH!"
REM 変更を退避する
%GIT% stash -u
REM PULL
%GIT% pull --progress -v --no-rebase "origin"
REM 退避した変更を戻す
%GIT% stash pop
)
)
cd /d "%MY_FOLDER%"
REM 実行を止めたい場合
REM pause
exit /b 0
Discussion