在 Visual Studio Code 上使用 ,但显示“无法从远程存储库读取”。

2024-01-11

我开始学习 Git 和 GitHub。

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

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

权限被拒绝(公钥)。

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

并且无法推送到原始存储库。

but 我已经使用 git bash 上的 ssh 密钥将本地存储库远程到原始存储库,并且可以完成本地存储库和原始存储库之间的推送和拉取。

在其他人的情况下 https://stackoverflow.com/questions/34400272/visual-studio-code-always-asking-for-git-credentials,他们被要求提供 GitHub 凭据来推送或同步,但就我而言,无法要求我提供任何凭据(例如 ssh 密钥)。

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


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

我在这篇博客文章中找到了我的答案,似乎 vs code 没有可以与之交互的 ssh 代理?

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

博客上的解决方案是

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

我用过 git-bash
启动 ssh 代理:eval "$(ssh-agent -s)"
then "code"启动 VS Code

Note:正如 @JoshuaH 在评论中指出的,您可以创建一个 Windows 快捷方式来简单执行上述步骤。cmd /c start-ssh-agent & code

git fetch 开始工作。但是我开始每 x 分钟收到一个 openssh 密码框(不定时)

所以我然后重新检查了密钥是否已添加 再次使用 git-bash
then "ssh-add ~/.ssh/id_rsa"
then git config --global credential.helper wincred

如果您每次都需要密码提示,请忽略前面的两个命令并在 VS Code 的设置中禁用自动获取。
"git.autofetch": "true"在 VS 代码设置中"git.autofetch": "false"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio Code 上使用 ,但显示“无法从远程存储库读取”。 的相关文章

  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git
  • Bazel 构建缺少严格的依赖关系

    我正在尝试使用 brazel 构建 Go 应用程序 它是一个现有的私有 GitHub 存储库 位置如下 github xyz com repo name 我正在研究 我的目标是从 main go 文件创建一个二进制文件 该文件的方法依赖于其
  • git pull 之间的区别master 与 git merge master 对比

    没有远程存储库 只有一个具有两个分支的本地存储库 git branch a master devel 正在执行命令在这方面相同 同义词 git pull master and git merge master UPDATE git help
  • 查询对 git 存储库的最后一次提交而不进行克隆

    假设我希望从 URL 克隆一个大型 git 存储库 当且仅当在最后一次提交到 master 时n 比如 24 小时 我不想克隆它 因为对于这么大的存储库来说这相当耗时 我也不希望克隆它一次然后检查例如定期查看 git 状态 我希望能够知道克
  • git:如何在多台电脑之间正确共享本地副本

    我拉了一些公共存储库 在这里和那里做了一些更改 我将它们提交给我的本地副本 我经常从远程获取公共存储库中的更改 有时 我会处理来自不同 PC 的本地副本 并且需要在 PC 之间移动整个源代码 以便它们共享完全相同的更改 有几次我搞砸了复制并
  • Git revert 导致合并冲突

    我创建了一个虚拟 txt 文件 并在每次提交中输入一个新行 例如 dummy txt first commit second commit third commit 现在我想通过恢复第二次提交来摆脱第二行 然而 我在这个简单的实验中收到了合
  • 如何去掉 VSCode 中的这个弹出窗口?

    当我开始在对象中输入新属性时 这个小弹出窗口就会出现 而且似乎一直如此 它阻止我向上 向下移动行 因为向上 向下箭头滚动框的内容 我很遗憾地说 这感觉就像 MS Word 中的 Clippy 的 VSCode 版本 我尝试了以下用户设置但无
  • 如何解决“构建失败,您要继续”的问题吗?在 Visual Studio 代码中

    我尝试在 Visual Studio Code 中调试 Java 代码时遇到错误 错误如下 构建失败 是否继续 我尝试过清除工作区 但不起作用 我该如何解决这个问题 问题解决了 我通过清除 Visual Studio Code 中的工作区缓
  • 从 GitHub Pages 中删除 html 扩展

    我正在使用 GitHub 页面来托管我的最新网站 http mysite github io 我想知道是否有办法从子页面末尾删除 html 扩展名 http mysite github io contact html 因为无法访问服务器 它
  • 如何修改VSCode Activity Bar

    我正在自定义 VSCode 我需要修改活动栏 删除一些图标并添加一个图标来打开扩展 该扩展现在由键盘快捷键触发 有人知道如何修改 VSCode 源代码来实现这一点吗 有没有什么文档可以帮助我理解VSCode的源代码 任何线索将不胜感激 您可
  • 如何在 GitHub Action 中推送到受保护的主分支?

    这是我的 github 操作工作流程 name Release on push branches main jobs release name Release runs on ubuntu latest steps name Checkou
  • 在 Git 上保存 Excel 文件的版本,以便稍后手动协调差异

    我将用一个月的时间更新Excel文件 这些文件的语言不是英语 我想我也可以使用 Git 来管理我想做的事情 情况 初始提交 我有一个用其他语言编写的 Excel 文件 我必须执行一些工作并用其中的数据填充 Excel 文件 My plan
  • 如何查看 Git 中分支的远程更改?

    我在学习 Git 的时候肯定忽略了一些东西 毕竟我对此还很陌生 我的同事说他推迟了他对我在远程存储库中的提交所做的一些更改 然而 git log 没有这个新推送的记录 我怎样才能看到他推了什么 从而知道要拉哪个分支 你必须git fetch
  • Git:如何处理不同的shebang

    人们如何处理本地和远程之间的不同 shebang 例如 我的本地 python 是 usr bin python 而我的 Web 主机是位于 local bin python 的专用 python 首席开发人员的 ruby 可能位于 usr
  • 处于分离头状态时如何保存更改?

    使用 Git 时 我必须返回到特定的提交 我做了一些更改 现在我想提交它们 这样做的正确方法是什么 我的项目现在处于分离头状态 如果我提交 我的更改会被保存吗 git commit 否则 我应该怎么做才能不丢失我的更改 免责声明 git 并
  • 变基中的传入和当前

    有一个与此类似的问题 但其范围太笼统 而且响应过于复杂 我的问题是非常准时 当从我的分行MyBranch并进行像这样的变基git rebase master并发生冲突 这是传入的变化 哪个是目前的变化 请不要关闭这个问题 将其链接到之前所说
  • 从提交历史记录中删除错误提交的大文件

    如何从提交历史记录中删除错误提交的大文件 在我删除有问题的文件之前 Git 不会再将任何提交推送到远程 此后我尝试删除它们 但它们存在于之前的提交中 Note 我在项目中不再需要大文件 On git push origin my branc
  • 删除不在 master 上的所有提交

    我有一个本地 git 存储库 有几个分支 我想在本地删除所有非主分支 以及不在主分支上的提交 如何删除不在主分支上的所有提交 我后来做了一个失败的樱桃选择 因为它到达了一个合并的提交 所以它有两个父母 我需要做什么才能使它只有一个父级 来自
  • 如何在 Git 中创建多个阶段

    使用 Git 时 可以按照以下方式暂存文件https githowto com staging changes https githowto com staging changes 所以通常 git add file1 git commit
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub

随机推荐