WindowsのGit Bash環境で大量のgitレポジトリをダウンロードしようと思ったのですが、毎回ユーザとパスワード打つのが面倒だったので保存したパスワードで一気にダウンロードする方法を探してみました。
少し調べると、こちらに記載のある「git-credential-winstore」が使えそうだったので使ってみました。
qiita.com
ダウンロード
git-credential-winstoreはここからダウンロードします
gitcredentialstore.codeplex.com
インストール
ダウンロードしたEXEファイルを、オプション「-i」でgitの実行ファイルを指定してインストールします。
$ .//git-credential-winstore.exe -i /mingw64/bin/git.exe
プロンプトが表示されるので「はい」で続行します。
デフォルトではこちらのフォルダにインストールされます。
%AppData%\GitCredStore
実行してみる
例えばmygit.comから3つのリポジトリをダウンロードしてみます。このようなスクリプト作って適当な名前で保存します(例:gitclone.txt)
git clone https://mygit.com/git/xxxxx.git git clone https://mygit.com/git/yyyyy.git git clone https://mygit.com/git/zzzzz.git
後は実行するだけです。
$sh.exe gitclone.txt
一度目のコマンドでおなじみのWindows資格情報の入力画面が表示されます。
一回入力すればその後は保存済みの資格情報で自動的に認証してダウンロード進みます。
資格情報の確認と削除
Windowsの資格情報はこちらのコマンドで確認できます。
>cmdkey /list <省略> ターゲット: LegacyGeneric:target=git:https://mygit.com 種類: 汎用 ユーザー: USERNAME <省略>
上記で確認したターゲットを指定して、資格情報を削除できます。
>C:\Users\yusuke.otomo>cmdkey /delete:LegacyGeneric:target=git:https://mygit.com CMDKEY: 資格情報を正しく削除しました。