Visual Studio代码:Push to git可以在终端工作,但在使用用户界面时不行

z6psavjg  于 2023-06-04  发布在  Git
关注(0)|答案(5)|浏览(541)

运行Windows 8.1 64位,并安装以下设备:

  • Git for Bash(v2.24.1.windows.2)使用MinGW-W 64
  • Visual Studio Code(v1.41.1)

我的个人SSH密钥(位于%USERPROFILE%\.ssh)已经生成并添加到我的GitHub帐户。位于%USERPROFILE.bashrc已被修改,以添加以下行:

# Start ssh-agent to allow git to be used
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa_personal

我在git repo中启动了Git Bash(MINGW 64)。现在修改一个文件,git addgit commitgit push,修改我的git存储库...它工作得很好!
对于标准的Windows命令提示符,我用以下代码创建了一个名为bashrc.cmd的文件:

rem Start ssh-agent to use git from the Windows command line
set GIT_PATH=C:\Program Files\Git
call "%GIT_PATH%\cmd\start-ssh-agent.cmd"
call "%GIT_PATH%\usr\bin\ssh-add.exe" "%USERPROFILE%\.ssh\id_rsa_personal"

现在,在键HKLM\SOFTWARE\Microsoft\Command Processor中创建了一个名为AutoRun的新REG_SZ值,该值指向上述文件(bashrc.cmd
启动一个命令提示符,现在启动了ssh-agent,并添加了我的身份。与Git Bash一样,addcommitpush可以完美地工作。太棒了!
现在我在git repo中加载Visual Studio代码。在左下角,Code知道我在一个git repo中:

在Code中使用内置的Terminal,我可以将addcommitpush更改到我的git repo中。太好了!
但现在我尝试用用户界面按钮。我可以使用git status暂存和提交更改,并在单独的命令行窗口中确认这些更改是否按预期工作。但是当我使用Push命令时,我得到这个错误:

返回到代码终端,或Windows命令提示符,或Git Bash,发出命令git push,更改将正确发送到远程存储库。
为什么代码Push命令不起作用?

p4tfgftt

p4tfgftt1#

经过一些努力,我发现同样的错误在我的Visual Studio代码,甚至当我试图使用ctrl+shift+pgit:pull命令也给了我同样的错误描述Permission Denied(publickey)
我读了here,那个Seems VS Code uses 'id_rsa.pub' key only,我有不同的密钥对名称,然后我复制私钥和公钥,这是为git仓库设置的id_rsa和id_rsa.pub,我再次尝试检查图标以及菜单,它工作时没有添加到ssh-agent,因为它只搜索~/.ssh/id_rsa在您的配置文件目录。当我删除id_rsa时,它给了我同样的错误,终端按预期工作,使用已经添加到ssh-agent中的不同密钥名称。
另外,git add .git commit -m是适用于本地的命令,不与远程分支建立连接,但当您尝试fetchpullpush尝试连接到需要身份验证的远程存储库时。

vatpfxk5

vatpfxk52#

当密钥受密码短语保护时也会发生此问题。重新生成另一个没有密码的密钥解决了我的问题。

6vl6ewon

6vl6ewon3#

我能够在我的mac位上使用iterm而不是通过vs代码推送更改。因此,正如上面的一个用户建议的那样,没有密码的密钥可能会起作用。我试过了,它确实有效。我不需要创建一个新的密钥。我用这个更新了密码。ssh-keygen -p -f /path/to/ssh_key
您的ssh key是没有.pub扩展名的。

dy2hfwbg

dy2hfwbg4#

切换我的Github帐户并生成新的SSH密钥后。我可以从终端上下载。但是VSCode和IntelliJ不能。好像是用我以前的证件。
在两个终端上运行eval "$(ssh-agent -s)"对我来说都很有用。

4uqofj5v

4uqofj5v5#

RSA密钥的名称是它发生的确切原因。远程主机上所需的密钥文件名必须为~/.ssh/id_rsa。查看最新版本。

  • VSCode:1.61.0
  • 远程SSH:0.65.8

相关问题