我开始使用Visual Studio Code,我试图将我的测试项目保存到GitHub,但Visual Studio Code总是要求我的GitHub凭据。

我已经在我的PC上安装了GitHub Desktop和Git。我已经跑了:

 git config --global credential.helper wincred

但是Visual Studio Code仍然在要求凭证。

我该如何解决这个问题?

下面是我的.gitconfig文件,位于用户配置文件文件夹中:

    [filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
[user]
    name = ddieppa
[user]
    email = fake@live.com
[credential]
    helper = wincred

下面是弹出窗口要求凭据:

我在弹出窗口中输入了我的GitHub凭证,但仍然在Visual Studio Code中的Git输出窗口中得到这个错误:

remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'

当前回答

在与这样的事情斗争了一段时间后,我想我想出了一个很好的解决方案,尤其是在GitHub和Bitbucket上有多个账户的时候。然而,对于Visual Studio Code,它最终从Git Bash终端启动,这样它从Bash会话继承了环境变量,并且它知道要查看哪个ssh-agent。

我仍然很难找到一个地方来获取我需要的信息。另外,自2017年以来,ssh-agent只有在您尝试访问存储库时才会提示您输入密码短语。

我把我的发现写在这里,如果有人感兴趣的话。

其他回答

我通常运行这个简单的命令来将Git远程URL从HTTPS更改为SSH:

git remote set-url origin git@github.com:username/repo-name-here.git

Windows 10操作系统:进入控制面板→凭证管理器→Windows凭证→点击Git链接→编辑→更新新密码。这应该有用。

相反的问题,但相关的:

在我的情况下,我努力与Visual Studio Code集成终端不忘记输入的密码,即使缓存助手超时已经过期。

不过,外部终端会话工作正常。

我发现在Visual Studio Code中有一个选项,它允许你在实际的Git插件上设置一个可选的缓存,这并不允许预期的行为发生。

一旦检查,我的密码在缓存超时时就被忘记了,所以我可以毫不费力地从个人账户跳到工作账户:)

Linux和Visual Studio Code 1.58.2。

下面这篇文章:

您可以将GIT_SSH环境变量设置为PuTTY的plink.exe程序。

(然后使用pageant.exe程序作为身份验证代理。)

使用不带密码短语的SSH密钥。

也许这对一些人来说是显而易见的(对我来说不是)。如果你绝对需要密码,这也不能解决问题,但在我使用Mac的情况下,这是一个不错的妥协。