我开始使用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配置——全局凭据。辅助存储
然后验证你是否想:
Git配置——全局凭据。辅助存储
这里引用了一个使用Git Bash的简单示例(仅适用于当前存储库,对所有存储库使用——global):
git config credential.helper store
git push http://example.com/repo.git
Username: < type your username >
Password: < type your password >
[several days later]
git push http://example.com/repo.git
[your credentials are used automatically]
它也适用于Visual Studio Code。
这里有一个更详细的示例和高级用法。
注意:用户名和密码不加密,以纯文本格式存储,因此仅在您的个人计算机上使用。
(这个答案不是特定于GitHub,而是我使用BitBucket,但它也可以在GitHub中工作,因为概念是相同的)
就我而言,我使用的是Bitbucket应用程序密码,它总是要求我进行身份验证。
停止自动读取并不能解决问题,因为我一天要拉和推好几次,每次输入应用程序密码都很糟糕。
此外,我需要将应用程序密码存储在不安全的地方,这也是我不想使用凭证的原因。助手存储,它以明文存储密码,而不是使用凭据。助手wincred,它是加密的。
当对话框提示我使用浏览器而不是应用程序密码时,我要求使用浏览器登录,这是可行的,原因超出了我的理解。现在它不再要求凭据了(我不得不暂时改变我的默认浏览器,因为我工作时使用的bitbucket帐户不在我的默认浏览器中,对话框尝试使用默认浏览器进行身份验证)。