首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual代码总是要求Git凭据

Visual代码总是要求Git凭据
EN

Stack Overflow用户
提问于 2015-12-21 16:30:25
回答 25查看 430.8K关注 0票数 331

我开始使用Visual Studio代码,我试图将我的测试项目保存到GitHub中,但是Visual总是询问我的GitHub凭据。

我已经安装在我的个人电脑GitHub桌面Git。我已经跑了:

代码语言:javascript
复制
 git config --global credential.helper wincred

但是Visual代码仍然要求提供凭据。

我怎么才能解决这个问题?

下面是我的.gitconfig文件,位于用户配置文件文件夹中:

代码语言:javascript
复制
    [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代码中的Git输出窗口中获得此错误:

代码语言:javascript
复制
remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
EN

回答 25

Stack Overflow用户

发布于 2016-01-06 07:42:04

为什么Visual代码要求密码?因为Visual代码运行自动获取功能,而Git服务器没有任何信息来授权您的身份。当下列情况发生时:

  • Git存储库有一个https远程URL。是!这种遥控器每次都会问你。这里没有例外!(您可以临时将授权缓存为下面的解决方案,但不建议这样做。)
  • Git存储库有ssh远程URL,但没有将ssh公钥复制到Git服务器上。使用ssh-keygen生成密钥并将其复制到Git服务器。完成了!此解决方案还可以帮助您永远不再在终端上重新键入密码。关于答案,请参阅@ for 这里的一个好的说明。

这个答案末尾的更新部分对你一点帮助都没有。(它实际上使您在工作流程中停滞不前。)它只停止Visual代码中发生的事情,并将这些事件移动到终端。

如果这个糟糕的答案影响了你很长很长一段时间,我很抱歉。

原来的答案(坏)

我在Visual代码文档上找到了解决方案

提示:您应该使用设置凭据助手来避免每次VS代码与您的Git遥控器交谈时都会被要求提供凭据。如果不这样做,则可能需要考虑禁用.菜单,以减少所获得的提示数。

因此,打开凭据助手,以便Git将您的密码保存在内存中一段时间。默认情况下,Git将缓存您的密码15分钟。

在终点站输入以下内容:

代码语言:javascript
复制
git config --global credential.helper cache
# Set Git to use the credential memory cache

若要更改默认密码缓存超时,请输入以下内容:

代码语言:javascript
复制
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

如果原来的答案不管用

我在上面安装了Visual代码和配置,但正如@ddieppa所说,它也不适合我。所以我试图在用户设置中找到一个选项,我看到了"git.autofetch“= true,现在设置为false!Visual代码不再需要重复输入密码!

在“菜单文件”→Preferences→User设置中:键入以下内容:

将设置放置在此文件中,以覆盖默认设置:

代码语言:javascript
复制
{
  "git.autofetch": false
}
票数 211
EN

Stack Overflow用户

发布于 2018-09-12 15:09:46

这一直在为我工作:

  1. 将凭据助手设置为存储: git config --global credential.helper store
  2. 然后验证是否需要: git config --global credential.helper store

在使用引用自吉特巴什这里 (仅适用于当前存储库时,对所有存储库使用--global )的简单示例:

代码语言:javascript
复制
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]

它也适用于代码。

一个更详细的示例和高级用法是这里

注意:用户名和密码不是加密的,而是以纯文本格式存储的,所以只在您的个人计算机上使用。

票数 133
EN

Stack Overflow用户

发布于 2017-08-05 03:27:15

您应该可以这样设置您的凭据:

代码语言:javascript
复制
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git

您可以获得这样的远程URL:

代码语言:javascript
复制
git config --get remote.origin.url
票数 112
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34400272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档