目的
メインのOSはWindowsですが、WSL(Windows Subsystem for Linux)も使っていて、両方の環境で git を使っています。GitレポジトリにアクセスするのにOAuth2や2段階認証を設定している場合、Windows側にすでにインストールしているGCM (Git Credential Manager)をWSL側からも参照して認証フローを任せるようにします。
一旦認証が成功したらGCMがトークンを安全に保存し、その後のアクセスでは認証フローがスキップされます。GCMが共有されているのでWindows側とWSL側の両方で保存済みトークンが利用できます。
手順
下図で示すような構成にします。Windows側のgit と GCMはそのままで、WSL側のgit を設定してCドライブ内のGCMを指すようにします。
GCMがデフォルトの場所に保存されているとして、WSL側(ubuntu のコンソール)から以下を実行します。
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
WSL側でGCMが正しく設定されているかどうかを確認します。
完了です。

