Windows11にしたらVSCode + Gitがなんかおかしい
2022年4月14日(木) 16時40分33秒 | 983 view
過去記事 症状と背景 パスフレーズ聞かれる、VScodeだと動かない、pushできない、などなど不具合多数 Windows10 -> 11 に変えたけど、それが原因...? 原因 ssh-agentが死んでいた 対応 Powershell管理者権限 Set-Service -Name ssh-agent -StartupType Manual Start-Service ssh-agent ssh-add再登録 C:\Users\ajishixo>ssh-add C:\Users\<username>\id_rsa Enter passphrase for C:\Users\<username>\id_rsa: Identity added: C:\Users\<username>\id_rsa (C:\Users\<username>\id_rsa) 参考記事
PowershellのgitではpushできるのにVSCodeのgit(GUI)ではpushできない問題
2021年11月25日(木) 2時30分15秒 | 3117 view
結論 環境 OS : Windows 10 Git client : Visual Studio Code Git remote:Github via ssh CUI:PowerShell ssh.exe:openssh from chocolatey 背景 2020年のアップデートからhttpsでのGithubへの接続が制限されたので、ssh接続に切り替えてローカルにリポジトリをクローンして運用していた ssh-addで鍵の登録まで終えた 事象 git clone git@github.com:xxxx としてクローンすると、ssh-addで登録したはずなのにパスフレーズを聞かれる(パスが通ると問題なくクローンされる) ssh git@github.com -T を実行すると問題なくGithubと接続できている クローン後のディレクトリをVSCodeのGUIからpushを行ってもPermission deniedになる(パスフレーズも聞かれない) VScode上のターミナルからgit push origin mainを実行するとパスフレーズが聞かれた後に正しくプッシュされる .ssh/configをいくら書き換えても動かない 原因 sshコマンドとgitコマンド内部で呼ばれるsshコマンドが実行ファイルが違うためssh-addされた鍵が共有されない VSCodeのGit Client GUIはパスフレーズを聞く機構がない(鍵が保存されていないと必ずPermission deniedになる) 解決策 gitコマンド内部で呼ぶsshコマンドを、ssh単体で読んだ際の実行ファイルに明示的にパスを当てる C:\Users\<username>\.gitconfigに以下を記述。 [core] sshCommand = C:/Windows/System32/OpenSSH/ssh.exe これでgit cloneでパスフレーズは聞かれず、GUIからのプッシュも問題なく動いた 参考