Windowsで保存したパスワード使ってgit cloneする

WindowsGit 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

プロンプトが表示されるので「はい」で続行します。
f:id:yomon8:20160107184700p:plain


デフォルトではこちらのフォルダにインストールされます。

%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資格情報の入力画面が表示されます。
f:id:yomon8:20160107184825p:plain

一回入力すればその後は保存済みの資格情報で自動的に認証してダウンロード進みます。


資格情報の確認と削除

Windowsの資格情報はこちらのコマンドで確認できます。

>cmdkey /list
<省略>
 ターゲット: LegacyGeneric:target=git:https://mygit.com
 種類: 汎用
 ユーザー: USERNAME
<省略>



上記で確認したターゲットを指定して、資格情報を削除できます。

>C:\Users\yusuke.otomo>cmdkey /delete:LegacyGeneric:target=git:https://mygit.com
CMDKEY: 資格情報を正しく削除しました。