💻

WSLでGitHubのPersonal access token認証

2021/10/01に公開
1

参考

https://github.com/microsoft/Git-Credential-Manager-Core#windows-subsystem-for-linux-wsl

GitCredentialManagerとGitをインストール

PowerShellにて
> winget install --id Microtsoft.GitCredentialManagerCore
> winget install --id Git.Git
wingetがなければ https://github.com/microsoft/winget-cli#installing-the-client

WSLでWindowsのGitCredentialManagerを利用する

wslにて
$ git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

tokenを取得

https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

push時にtokenを入力

$ git push origin main

Discussion

H4M4CHiH4M4CHi

最近のバージョンのWindows Git(2.36.1.windows.1で確認)だと GitCredentialManager をインストールしても git-credential-manager-core.exe が無いようで、代わりに
$ git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-wincred.exe"
のようにしたら上手く行きました。

2023/02/06 追記
Gitインストール場所がデフォルトでないという人がいたため、次のようなコマンドで設定してもらいました。

WINGIT_PATH=$(where.exe git | grep mingw | sed -z 's/\r\n//g' | xargs -0 -I {} wslpath -u "{}")
WINCRED_PATH=$(realpath "$(dirname "$WINGIT_PATH")/../")/libexec/git-core/git-credential-wincred.exe
git config --global credential.helper "$(echo "$WINCRED_PATH" | sed -e 's/ /\\ /g')"