我开始使用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代码的Git输出窗口中出现此错误:
remote: Anonymous access to ddieppa/LineOfBizApp.git denied. fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
Davuz.. 131
我在VSCode文档上找到了解决方案:
提示:您应该设置一个凭据帮助程序,以避免每次VS代码与您的Git远程控制器对话时都要求提供凭据.如果不这样做,您可能需要考虑在...菜单中禁用自动提取以减少您获得的提示数量.
因此,打开凭证助手,以便Git将密码保存在内存中一段时间.默认情况下,Git会将您的密码缓存15分钟.
在终端中,输入以下内容:
git config --global credential.helper cache # Set git to use the credential memory cache
要更改默认密码缓存超时,请输入以下内容:
git config --global credential.helper 'cache --timeout=3600' # Set the cache to timeout after 1 hour (setting is in seconds)
我在上面安装了VS Code并配置相同,但正如@ddieppa所说,它对我来说也不起作用.所以我试着在用户设置中找到一个选项,我看到"git.autofetch"= true,现在设置它是假的!VS Code不再需要重复输入密码!
在菜单中,单击文件/首选项/用户设置并键入以下内容:
将您的设置放在此文件中以覆盖默认设置
{ "git.autofetch": false }
请注意那个设置!它并不是为了帮助您记住您的凭据.它正在谈论自动帮助你git-fetch.有关详细信息,请查看https://www.atlassian.com/git/tutorials/syncing#git-fetch.就存储您的凭据而言,使用命令`git config --global credential.helper cache`.有关详细信息,请查看https://git-scm.com/book/gr/v2/Git-Tools-Credential-Storage. (5认同)
建议你关闭自动提取是一个"别管我"选项.但它类似于说"如果你的软件不起作用,就停止使用它." 重要的是人们要意识到差异.我建议这个答案的"更新"部分说"如果不工作",并解释说你可以让它停止打扰你而不实际解决问题.UPDATE上面的答案部分实际上是正确的(至少,遵循文档链接为我工作) (4认同)
如果你没有发起行动,事情不应该弹出,特别是要求凭证的事情 - 你怎么知道这是安全的而不是恶搞? (2认同)
yohosuff.. 59
您应该能够像这样设置您的凭据:
git remote set-url origin https://
您可以像这样获取远程URL:
git config --get remote.origin.url
我在VSCode文档上找到了解决方案:
提示:您应该设置一个凭据帮助程序,以避免每次VS代码与您的Git远程控制器对话时都要求提供凭据.如果不这样做,您可能需要考虑在...菜单中禁用自动提取以减少您获得的提示数量.
因此,打开凭证助手,以便Git将密码保存在内存中一段时间.默认情况下,Git会将您的密码缓存15分钟.
在终端中,输入以下内容:
git config --global credential.helper cache # Set git to use the credential memory cache
要更改默认密码缓存超时,请输入以下内容:
git config --global credential.helper 'cache --timeout=3600' # Set the cache to timeout after 1 hour (setting is in seconds)
我在上面安装了VS Code并配置相同,但正如@ddieppa所说,它对我来说也不起作用.所以我试着在用户设置中找到一个选项,我看到"git.autofetch"= true,现在设置它是假的!VS Code不再需要重复输入密码!
在菜单中,单击文件/首选项/用户设置并键入以下内容:
将您的设置放在此文件中以覆盖默认设置
{ "git.autofetch": false }
您应该能够像这样设置您的凭据:
git remote set-url origin https://
您可以像这样获取远程URL:
git config --get remote.origin.url
这对我
有用:1.将凭证hepler设置为存储
$ git config --global credential.helper store
2.然后验证是否需要:
$ git config --global credential.helper
store
使用从Here引用的git bash的简单示例(仅适用于当前repo,--global
用于所有repos)
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: < type your username >
Password: < type your password >
[几天后]
$ git push http://example.com/repo.git
[您的凭据自动使用]
也适用于VS Code.
更详细的例子和先进的使用在这里.
注意:用户名和密码未加密并以纯文本格式存储,因此仅在个人计算机上使用.
尝试安装" Git Credential Manager For Windows "(以及设置凭据管理器的说明).
当在使用Git的应用程序中需要时(例如VS代码),它将" 神奇地 "打开Visual Studio Team Services凭据输入所需的对话框.
我所要做的就是运行这个命令:
git config --global credential.helper wincred
然后我被提示输入密码两次.
下次它工作而没有提示我输入密码.
使用ssh而不是http/https.
您需要在本地计算机上设置ssh密钥,将它们上传到您的git服务器并将url表单替换http://
为git://
,您将不再需要使用密码.
如果你不能使用ssh将其添加到你的配置:
[credential "https://example.com"] username = me
文件在这里.
只需按照这些步骤操作即可立即设置您的ssh密钥:
生成新的ssh密钥(如果已有密钥,则跳过此步骤)
ssh-keygen -t rsa -C "your@email"
将密钥集放在home/.ssh
目录(或Users/
Windows下)后,打开它并复制内容
登录github帐户
点击右上角的牧场主(设置)
点击 SSH keys
点击 Add ssh key
粘贴您的密钥并保存
你们都准备去了:-)
以下步骤指导您完成以下操作:
生成SSH密钥(无密码**)
将步骤1中生成的公钥添加到您的Git存储库中
确认以上步骤已成功完成
进行首次提交(无需提供用户名/密码)
**如果您的工作特别敏感,则生成没有密码短语的SSH密钥是不明智的。
操作系统 -Fedora 28 | 编辑器 -VS Code v1.23.0 |仓库 -Git
生成SSH密钥:
ssh-keygen -t rsa -C "email@goeshere.com"
输入要保存密钥的文件:按Enter键
输入密码:按Enter
再次输入相同的密码:按Enter键
完成上述步骤后,公共密钥的位置将显示在终端窗口中。如果当前登录的用户为“ bob”,则您的公共密钥的位置为 /home/bob/.ssh/id_rsa.pub
复制公钥并将其导入GitHub:
cat /home/bob/.ssh/id_rsa.pub
将现在显示在终端窗口中的整个公钥复制到剪贴板
去 https://github.com并登录
点击屏幕右上角的用户图标,然后选择 设置
点击SSH和GPG密钥
单击新建SSH密钥
输入标题,将复制到剪贴板的公共密钥粘贴到第一个项目符号点,然后单击添加SSH密钥
确认以上步骤:
ssh -T git@github.com
yes
嗨!您已成功通过身份验证,但是GitHub不提供Shell访问。
首次提交/推送而无需输入用户名/密码:
-touch test.txt
git add test.txt
git commit
-打开编辑器,输入消息并保存文件。如果vi是您的编辑器,则i
在打开文件后按,输入消息,按esc,然后按Enter :x
保存更改。
git push
您可能遇到的唯一麻烦是,当您尝试SSH到GitHub时。此链接将提供一些帮助-
https://help.github.com/articles/error-agent-admitted-failure-to-sign/
狩猎愉快!