WSL2(Windows Subsystem for Linux 2)環境でgitをhttps経由で利用するときに認証情報を保持する


背景

WSL2を利用することでWindwosでもLinux環境での開発を実現することができるようになった。しかし、WSL2でHTTPSプロトコルを使用してgitのリポジトリにプッシュしようとすると毎回、ユーザー名とパスワードの入力を求められる。この問題を回避するためにWSL2とGit for Windowsに付属しているgit-credential-managerを連携させる。WSL2とgit-credential-managerを連携することでgitリポジトリにpushをしても毎回ユーザー名とパスワードの入力を求められなくなる。

Git for Windowsのインストール(Windows上)

もし、まだGit for Windowsをインストールしていなければ以下のサイトからダウンロードしてインストールを行う
https://git-scm.com/download/win

WSL2上のgit-credientialとGit for Windowsのgit-credential-managerを連携(Linux上)

エディタでgit-credential-managerを開く

sudo vi /usr/bin/git-credential-manager

git-credential-managerに以下に内容を追記して保存する

#!/bin/sh
exec /mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe $@

git-credential-managerの実行権限を付与する

sudo chmod +x /usr/bin/git-credential-manager

~/.gitconfigを開き、認証に関する設定(認証時に利用する認証マネージャーの設定)を追記する

[credential]
helper = manager

以上の設定で連携が完了する。これで初回のプッシュ時に認証情報を入力すると、以降同じリポジトリにプッシュしても認証情報は求められない。

参考ページ