我开始使用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认证。v1.45版本说明:

GitHub authentication for GitHub Repositories VS Code now has automatic GitHub authentication against GitHub repositories. You can now clone, pull, push to and from public and private repositories without configuring any credential manager in your system. Even Git commands invoked in the Integrated Terminal, for example git push, are now automatically authenticated against your GitHub account. You can disable GitHub authentication with the git.githubAuthentication setting. You can also disable the terminal authentication integration with the git.terminalAuthentication setting.

除了添加上面的SSH配置项之外

如果窗户

Set-Service ssh-agent -StartupType Automatic

在PowerShell。

现在Visual Studio代码应该不会提示…

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

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

Windows 10:

按窗口键。 输入信用,你应该看到“凭证管理器”在控制面板 单击此处打开并删除相关的缓存凭据。然后再试一次。它将询问用户ID和密码。输入正确的密码就可以了。

当我修改我的网络密码时,就发生了这种情况。

我设法通过执行以下步骤来阻止这种情况。

卸载GitHub Desktop(我不确定这是必要的) 卸载凭证管理器:cd“C:\Program Files\Git\mingw64\libexec\ Git -core”,然后执行Git - Credentials - Manager .exe卸载 重置凭证帮助使用wincred: git config——global credential。辅助wincred 使用Visual Studio Code来推动一些更改并重新输入凭证。

注意:我使用个人访问令牌作为密码。