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

当前回答

我所要做的就是运行这个命令:

窗口: Git配置——全局凭据。辅助wincred

Linux: Git配置——全局凭据。辅助存储

然后我被提示输入两次密码。

下一次它成功了,没有提示我输入密码。

其他回答

我在Visual Studio Code和Ubuntu 20.04 (Focal Fossa)上运行:

它自动解决了定期询问凭证的问题:

git config --global credential.helper store

您可以参考此链接来设置Git凭据。

您可以运行以下命令来保存Git凭据。你不需要每次运行Git命令时都输入用户名和密码(适用于Windows):

git config --global credential.helper wincred

对于Mac / Linux,如何保存Git凭据,请参见Mac和Linux的Git凭据管理器。

(这个答案不是特定于GitHub,而是我使用BitBucket,但它也可以在GitHub中工作,因为概念是相同的)

就我而言,我使用的是Bitbucket应用程序密码,它总是要求我进行身份验证。

停止自动读取并不能解决问题,因为我一天要拉和推好几次,每次输入应用程序密码都很糟糕。

此外,我需要将应用程序密码存储在不安全的地方,这也是我不想使用凭证的原因。助手存储,它以明文存储密码,而不是使用凭据。助手wincred,它是加密的。

当对话框提示我使用浏览器而不是应用程序密码时,我要求使用浏览器登录,这是可行的,原因超出了我的理解。现在它不再要求凭据了(我不得不暂时改变我的默认浏览器,因为我工作时使用的bitbucket帐户不在我的默认浏览器中,对话框尝试使用默认浏览器进行身份验证)。

自动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密钥(不含密码短语**) 将第1步中生成的公钥添加到Git存储库中 确认以上步骤已成功完成 第一次提交(无需提供用户名/密码)

**如果您的工作特别敏感,生成没有密码短语的SSH密钥是不明智的。

OS - Fedora 28 |编辑器- Visual Studio Code v1.23.0 | Repository - Git

生成SSH密钥:

ssh -t rsa -C "email@goeshere.com" 输入保存密钥的文件:按“Enter” Enter passphrase:按“Enter” 再次输入相同的密码短语:Press Enter

完成上述步骤后,您的公钥的位置将显示在终端窗口中。如果当前登录的用户是'bob',那么公钥的位置将是/home/bob/.ssh/id_rsa.pub

复制并导入公钥到GitHub:

猫/home/bob/.ssh/id_rsa.pub 将现在显示在终端窗口中的整个公钥复制到剪贴板 登录https://github.com并登录 单击界面右上角的用户图标,选择“设置” 单击“SSH”和“GPG”键 单击“新建SSH密钥” 输入标题,将复制到剪贴板的公钥粘贴在第一个项目符号中,单击“添加SSH密钥”

确认以上步骤:

ssh -T git@github.com 是的 嗨!您已成功验证,但GitHub不提供shell访问。

第一次提交/推送无需输入用户名/密码:

触摸用法 Git添加test.txt Git提交-打开编辑器,输入消息并保存文件。如果你的编辑器是vi,打开文件后按I,输入消息,按Esc,然后输入:x保存修改。 git推

您可能遇到的唯一问题是当您尝试SSH到GitHub时。这个链接将提供一些帮助-

错误:代理程序承认签名失败

寻找快乐!