Visual Studio Code始终要求提供git凭据
我开始使用Visual Studio Code ,并且试图将我的testing项目保存到GitHub中 ,但是Visual Studio Code总是要求我的GitHub证书。
我已经安装在我的PC GitHub桌面和Git ,我已经跑:
git config --global credential.helper wincred
但仍然Visual Studio代码是要求的凭据。
任何帮助?
这里是我的.gitconfig文件位于用户configuration文件folfer:
[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
这是popup窗口要求凭据:
我在popup窗口中inputGitHub凭据,但在Visual Studio代码的Git输出窗口中仍然出现此错误:
remote: Anonymous access to ddieppa/LineOfBizApp.git denied. fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
我在VSCode文档中find了解决scheme:
提示:您应该设置一个证书助手,以避免每次VS Code与您的Git远程对话时都要求提供证书。 如果您不这样做,则可能需要考虑在…菜单中禁用自动提取function,以减less提示的数量。
因此,请打开凭证助手,以便Git将密码保存在内存中一段时间。 默认情况下,Git会将您的密码caching15分钟。
在terminal中,input以下内容:
git config --global credential.helper cache # Set git to use the credential memory cache
要更改默认密码caching超时,请input以下内容:
git config --global credential.helper 'cache --timeout=3600' # Set the cache to timeout after 1 hour (setting is in seconds)
UPDATE
我安装了VS Code,configuration如上,但@ddieppa说,它也不适用于我。 所以我试图在用户设置中find一个选项,我看到“git.autofetch”= true,现在设置为false! VS码不再需要重复input密码!
在菜单中,单击文件/首选项/用户设置并input以下内容:
将您的设置放在此文件中以覆盖默认设置
{ "git.autofetch": false }
尝试安装“ Git Credential Manager For Windows ”(以及关于设置凭证pipe理器的说明 )。
当使用Git的应用程序(例如VS Code)中需要时,它将“ 神奇地 ”打开Visual Studio Team Services凭据input所需的对话框。
你应该可以像这样设置你的凭证:
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
使用ssh而不是http / https。
您需要在本地机器上设置ssh密钥,将它们上传到您的git服务器,并将http://
的urlformsreplace为git://
,您将不再需要使用密码。
如果你不能使用SSH添加到您的configuration:
[credential "https://example.com"] username = me
文件在这里 。
在github中使用ssh密钥
只需按照以下步骤操作,即可立即设置您的ssh密钥:
-
生成一个新的ssh密钥(如果你已经有一个密钥,则跳过这一步)
ssh-keygen -t rsa -C "your@email"
-
将密钥设置在
home/.ssh
目录(或Windows下的Users/<your user>.ssh
)后,将其打开并复制内容
如何将sh key添加到github帐户?
- login到github帐户
- 点击右上方的牧场主(设置)
- 点击
SSH keys
- 点击
Add ssh key
- 粘贴你的密钥并保存
你们都去了:-)
之后的文章 :
你可以设置GIT_SSH env。 变种。 到腻子的plink.exe程序。 (然后使用pegeant.exe作为身份validation代理)
使用不带密码的SSH密钥。
也许这是显而易见的(不是我)。 如果您绝对需要密码,它也不能解决问题,但这是我在Mac上的一个体面的妥协。