当前位置: 首页 > 知识库问答 >
问题:

对Visual Studio代码使用< git push >,但显示“无法从远程存储库读取”

范福
2023-03-14

我开始研究 Git 和 GitHub。

现在,我可以创建我的存储库来练习,我可以在git bash上将提交推送到原始存储库(在GitHub中)。

但是当我尝试推送Visual Studio Code时,我收到了此错误

拒绝许可(公开密钥)。

致命:无法从远程存储库读取。

并未能推送到源存储库。

但是我已经用git bash上的ssh密钥将本地存储库远程连接到源存储库,并且我可以完成本地存储库和源存储库之间的推和拉。

在其他人的情况下,他们被要求提供 GitHub 凭据来推送或同步,但在我的情况下,我无法被要求提供任何凭据,例如 ssh 密钥。

在这种情况下,我该怎么办?谢谢。

共有3个答案

晋天逸
2023-03-14

我的Bitbucket回购的远程设置为使用
git@bitbucket.org:teamname/reponame。git</code>url的SSH类型。

启用密码后SSH密钥就不行了。我将其更改为HTTPS版本:https://username@bitbucket.org /teamname/reponame.git

那时工作得很好。无需在Windows 10等中与其他环境一起工作。

傅恺
2023-03-14

例如,如果您想在Visual Studio Code的Git Graph中使用SSH类型的URL,那么仅拥有生成的SSH密钥对以及在本地存储库和终端内的源存储库之间进行推送和拉取的可能性是不够的。因为在终端中,您总是被要求输入密码短语来验证您的私有 SSH 凭据。

若要在 VSCode 中通过 SSH 连接到 Github 存储库,还需要将 SSH 密钥添加到 SSH 代理。

以下是您需要执行的其他步骤(使用ssh-add的标准MacOS版本):

  1. 检查是否有SSG代理添加的现有身份:ssh-add-l
  2. 创建一个~/. ssh/config文件,添加以下行:
 Host *
 UseKeychain yes
 AddKeysToAgent yes
 IdentityFile ~/.ssh/id_rsa

并保存。

这会告知 SSH 代理自动加载密钥并将密码存储在 MacOS 钥匙串中。

柴瀚
2023-03-14

我认为@codewizard的答案是正确的。似乎 VS Code 仅使用“id_rsa.pub”密钥,它没有使用 git.exe 配置为使用的其他 ssh 密钥对。(此键不是名称id_rsa。但是,在生成新的id_rsa密钥对后,我仍然被拒绝了权限(公钥)。

我在这篇博客上找到了我的答案,似乎vs代码没有ssh-agent与之交互?

http://blog.alner.net/archive/2015/08/24/vs_code_with_git_ssh_keys_that_use_passphrases.aspx

博客上的解决方案

  • 打开命令提示符。
  • 运行“启动-ssh-agent”并回答密码提示。
  • 运行“代码”以从该环境启动 VS 代码。

我使用git bash
启动ssh代理:eval“$(ssh-agent-s)”
然后“code”启动VS代码

注意:正如@JoschaH在评论中指出的,您可以创建一个窗口快捷方式来简单地执行上述步骤。cmd /cstar-ssh-Agent

git-fetch开始工作。然而,我开始每x分钟打开一个ssh密码框(不定时)

因此,我再次检查了使用git bash添加的密钥
,然后“ssh add~/.ssh/id_sa”
然后git config--全局凭据。helper wincred

如果每次都需要密码提示,那么忽略前面的两个命令,并在VS代码的设置中禁用自动获取
“git.autofetch”:“true”在VS代码设置中设置为

 类似资料:
  • 我正试着和git建立联系http://danielmiessler.com/study/git/#website来管理我的网站。 我已经完成了说明中的最后一步:git推送网站master:refs/heads/master 我正在使用win7中的git ming32命令行 这里的一个问题可能是程序正在寻找Bill@***. com。当我通过ssh连接到我的网站时,我有一个不同的用户名(让我们说“a

  • 我正在通过一个对我来说是新的IDE进行一个学校项目:IntelliJ。 为了提交我的项目(通过git),我创建了一个git存储库,添加了正确的remote及其密码,并尝试将我的工作推到主分支(在成功添加/提交所述工作之后)。 一开始我收到以下错误消息: 推送失败:失败,错误:致命:无法从远程存储库读取。 下面是我的文件: 我哪里错了?

  • 我已经成功地与另一位现场开发人员一起使用GitLab,开发了C和MATLAB中的小型项目。 在家使用VPN工作时,我将一个大型LabVIEW程序推到了一个新项目中,这样我就可以与另一个非现场开发人员一起工作。开发人员克隆了该项目,并开始开发一个分支。 问题是我无法提取/获取此分支。GitLab正在显示开发人员所做的分支和提交。 我使用git的时间不长,所以我可能只是太傻了。 Git推送:“致命的‘

  • 几个星期以来,我无法从远程存储库中拉出或推到远程存储库。我以为升级到IntelliJ IDEA 14时会发生这种情况,但我也可以用IDEA 13.1.5重现这种问题。 工具提示说“Fetch failed fataly:Could not read from remote repository”。 而版本控制选项卡中的异常为 使用IntelliJ的内置终端,执行,它可以正常工作。 根据stackt

  • 我正在尝试设置和在我的所有测试通过后发布。命令正在运行,但失败了。 我找不到任何关于如何让它工作的文档。Jenna也需要更新branch-Lerkins的标签,而Jenna也需要更新版本才能进入无限循环。 我的第一个问题是: 我通过这样做修正了这个问题:詹金斯Git插件分离了头部 这是我设定的一切: 现在我有这个问题: 我怎样才能让lerna publish在Jenkins工作?