背景
最近のプロジェクト構成だと複数のリポジトリで開発をしていくことが多いですが
開発をするたびに個々のリポジトリを最新化したりブランチ切ったりと結構手間だと
感じ何とか一括操作できないかとbatファイルを作ってみました。
バッチファイル
@echo off
SETLOCAL enabledelayedexpansion
rem カレントディレクトリに移動
cd /d %~dp0
rem 引数からgitコマンドの生成
SET GIT_COMMAND=
for %%f in (%*) do (
SET GIT_COMMAND=!GIT_COMMAND! %%f
)
echo %GIT_COMMAND%
rem フォルダの一覧を取得
for /D %%A in (*) do (
IF EXIST %%A\.git\ (
echo ☆☆コマンド実行リポジトリ %%A
REM ディレクトリに移動
cd %%A
REM gitコマンドを実行
git %GIT_COMMAND%
REM カレントディレクトリに移動
cd ..\
) ELSE (
echo %%A はgitディレクトリではないので作業対象外です。
)
)
事前準備
- gitにパスを通しておいてください
使い方
以下のようにファイルを配置します。
./
├common(gitリポジトリ)
├front(gitリポジトリ)
├batch(gitリポジトリ)
└git-all.bat(今回作ったバッチ)
コマンドプロンプトを開いて
git-all fetch -p
成功~
他の人はどうやってんだろ。。。