はじめまして。新入生のtomoです。はじめて記事を書いてみます。
WSL上で動かしてるnextjsのプロジェクトがあって、それをGitHubのプライベートリポジトリにpushしようとしてちょっとだけ詰まったのでメモ。
TL;DR 単刀直入
Windowsのgitでログインしてればこれで終わりです。
git config --global user.name "githubのユーザー名"
git config --global user.email "メルアド"
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"
下では過程を話していきます。
環境
OS(Win) : Windows 11 Pro 21H2 (22000.675) Git(Win) : git version 2.33.0 👆更新しろ!!!😠😠 (最新版は5月20日リリースの2.36.1らしいですね、、) OS(WSL) : Linux 5.10.102.1-microsoft-standard-WSL2 Git(WSL) : git version 2.34.1
1戦目 パスワード認証 (失敗)
まず、言われるままにパスワードでログイン
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see [https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/) for more information.
そりゃ今の時代そんなに甘くないですよね。(しかも2段階認証設定してるし)
2戦目 アクセストークン (失敗、多分僕のミス)
次に言われた通り、GitHubでpersonal access tokenを発行してパスワード入力欄に貼り付けたものの、、、
- 覚えてくれない(毎回打たないといけない)
- pushしたらなぜか違うユーザー名でコミットされてしまった (多分
git config --global user.name
してないからか?、プライベートレポなのでほかに人はアクセスできないので)
というので失敗しました。
3戦目 (成功、Git credential storeを使う)
調べてみると、マイクロソフトの公式サイトに書いてあるではありませんか!?
→できない
スタックオーバーフロー君でも同じことが書かれてた。
一番上の解答見てもさっきの同じなので、よくよく考えるとGitのバージョンとかでパス変わってるのでは??と思い、実際にファイルエクスプローラーで調べると、
Git/mingw64/bin/git-credential-manager-core.exe
ではなく、Git\mingw64\libexec\git-core\git-credential-manager.exe
でしたね。
(今思えば、2つ目のとこにLocate git-credential-manager.exeって書いてありますね、はい)
結論!!
いかかでしたか?(これが言いたかっただけ) sshを使うのがめんどそうだったので、Windows側と連携できるようにしました(wslでexe指定できるのは有能) では、よいWSL、Github生活を~!
[あとがき] 部活の記事ってこんなんでええんかな、、(小声)