我开始使用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/'

当前回答

Ubuntu用户只需在Visual Studio Code终端输入以下命令:

git config --global credential.helper store

现在,输入一次你的用户名和密码,之后它就不会再问你了。

注意:

用户名和密码不加密,以纯文本形式存储,请谨慎使用。 但是,如果您的密码包含一些特殊字符,如@,#,&,*等,那么这些字符将被加密。

此外,你可以找到你的'。Git-credentials文件在家里。它是隐藏的,所以一定要启用隐藏文件。

地点:~ / .git-credentials

其他回答

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

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

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

相反的问题,但相关的:

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

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

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

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

Linux和Visual Studio Code 1.58.2。

Ubuntu用户只需在Visual Studio Code终端输入以下命令:

git config --global credential.helper store

现在,输入一次你的用户名和密码,之后它就不会再问你了。

注意:

用户名和密码不加密,以纯文本形式存储,请谨慎使用。 但是,如果您的密码包含一些特殊字符,如@,#,&,*等,那么这些字符将被加密。

此外,你可以找到你的'。Git-credentials文件在家里。它是隐藏的,所以一定要启用隐藏文件。

地点:~ / .git-credentials

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

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

如果你是在Windows电脑上,那么安装Git for Windows。就是这样!