git推送到远程存储库“无法从远程存储库读取”

2023-12-24

我搜索了一段时间,但找不到解决我的问题的方法。

我有一个服务器,我可以使用用户名通过 ssh 连接到git和本地 git 存储库。
现在我想将我的本地存储库推送到服务器上新创建的存储库。

这是我所做的:

  • 创建了一个 git 存储库/home/git/test.git
  • 将存储库初始化为裸存储库
  • 在本地机器上添加远程存储库
    git remote add test ssh://git@serverIp:/home/git/test.git
  • 现在我执行了push命令:
    git push test master

我总是得到

fatal: could not read from remote repository

Please make sure you have the correct access rights
and the repository exists.

我正在本地 Windows 7 机器上工作,想要上传到 Linux 服务器。
我可以通过 ssh 登录git用户。 我也尝试这样做root用户(让事情一次运行)得到相同的结果。
我从来没有被要求使用 sshpassword.

我真的不知道我做错了什么。
在你称其为重复之前,我搜索了很多这个问题,但似乎没有人谈论同样的问题。

update:

  • “which git”返回 /usr/bin/git
  • PATH echo 包括 /usr/bin
  • id_rsa 和 id_rsa.pub 文件均已设置且没有密码
  • ssh git@serverIp git-receive-pack 也可以工作并返回 /usr/bin/git-receive-pack
  • ssh git@serverIp ls /home/git/test.git 有效
  • 所有相关目录都是 chmod 755
  • git 是存储库的所有者
  • auth.log 文件在尝试推送命令时没有获取新条目
  • GIT_TRACE=2 git push test master 返回:

'C:\Program Files (x86)\PuTTY\plink.exe' '-batch' 'git@serverIp' 'git-receive-pack '\''/home/git/test.git'\''' 致命:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。


在这种情况下,使用 openssh 而不是 putty 是关键。


原始答案(调试技巧)

我可以通过 ssh 登录git user.

这意味着这有效:

ssh git@serverIp

你确实有一个HOME定义的变量和 ssh 公钥/私钥(id_rsa / id_rsa.pub) in %HOME%/.ssh/.

这个问题 https://stackoverflow.com/a/13509396/6309建议使用不同的网址:

git remote set-url test git@serverIp:/home/git/test.git

确保您确实以 git 身份创建了 git 存储库(而不是以 root 身份创建,当您创建 git 帐户时,如这个问题 https://stackoverflow.com/q/15367016/6309).
ssh git@serverIp "which git"应该返回 git 可执行文件的路径。

还要检查所有父目录是否有相关的x为用户设置的(执行)位git或团体gitgroup, 跑步ls -ld /home /home/git /home/git/test.git.
此外,可以通过以下方式获取 git 命令的更多信息:

  • git push --verbose
    or:
  • GIT_TRACE=2 git push test master

如果您有带密码的 ssh 私钥,最好首先使用 ssh 私钥测试这些 ssh 命令not受密码保护,查看问题是否仍然存在。
或者,您可以保留受密码保护的 ssh 密钥,但是仔细检查你的.bashrc正如在这个答案中 https://stackoverflow.com/a/11918742/6309.


对于任何 ssh 连接问题(需要 git 的密码),请检查:

  • /var/log/auth.log,
  • an sshd 调试会话 https://serverfault.com/questions/130482/how-to-check-sshd-log

在你的情况下,因为它适用于ssh git@serverIp(交互式安全外壳),但不能使用 git (它打开非交互式安全外壳),看看这个线程 https://groups.google.com/forum/?fromgroups=#!topic/git-users/fdxAkWOTTC8,其中引用this one http://lists.apple.com/archives/macos-x-server/2008/Jun/msg00251.html:

当使用命令行启动 ssh 时,会启动一个非交互式非登录 shell。
然而...bash不使用$BASH_ENV在这种情况下,所以将其设置为~/.ssh/environment(例如,到/etc/profile)没有帮助。
bash 所做的是源码/etc/bashrc and ~/.bashrc.

确保/etc/profile确实定义了路径为git https://stackoverflow.com/a/15532349/6309,由于此处可以使用非登录帐户 https://stackoverflow.com/a/15651459/6309(这里似乎就是这种情况,因为ssh git@serverIp "which git"工作过,并且ssh git@serverIp "git --version"也应该)。

但也要检查正确的问题,并测试chmod 755 on /home, /home/git and /home/git/test.git.

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

git推送到远程存储库“无法从远程存储库读取” 的相关文章

随机推荐

  • 自动化测试游戏

    Question 您将如何向游戏添加自动化测试 我相信您可以对游戏引擎的许多功能 网络 对象创建 内存管理等 进行单元测试 但是是否可以自动测试实际游戏本身 我不是在谈论游戏玩法元素 比如神族会在地图 X 中击败虫族 而是在谈论游戏和引擎之
  • Moodle 有 API 吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想为 Moodle 创建一个定制的前端 有谁知道我可以从哪里获得API 或任何其他帮助 编辑 我已经
  • 在 Mgmt Studio 中修改数据库后重新导入/更新 SQL Server 数据库项目

    我的团队正在他们的解决方案中使用 NET 2008 DB 项目 因此我们有一些方法可以在机器之间以及通过开发来保持架构并保持一致 我更改数据库和跟踪所述架构的首选方法是通过 SQL Server Mangement Studio 基本上 我
  • Swift:对于 Double 值,“此类不符合键值编码...”

    我有一个场景 其中 Swift 中有一个简单的数据对象 包含多个属性变量 它们是混合的String and Double 值类型 我正在尝试使用检索每个属性的值valueForKey 我的代码看起来像这样 let myDataObj let
  • 验证失败后未添加类 field_with_errors 的 div 包装器

    我正在使用bootstrap sass宝石 我有一个验证 需要选择一个选择框 这是选择框 验证指定必须做出选择 但它确实include blank以便选择框一开始是空的 验证失败后 它应该是这样的 Rails 应该创建一个 div 来包装输
  • 更改选定且未聚焦的列表框样式,使其不灰显

    我有一个非常简单的 WPF ListBox 其 SelectionMode 设置为 Multiple
  • Next.js 服务器在运行“npm run dev”后停止几秒钟

    创建后Next js应用程序使用npx create next app和跑步npm run dev安装完成后 终端显示如下 准备好 启动服务器0 0 0 0 3000 url http localhost 3000 然后几秒钟后它停止并且没
  • ExecuteNonQuery:连接属性尚未初始化

    我收到以下错误 ExecuteNonQuery 连接属性尚未初始化 当运行以下代码时 Private Sub btnUpdate Click sender As Object e As EventArgs Handles btnUpdate
  • 如何使用 UIAutomation 获取主浏览器上的当前 url 地址?

    我有一个来源 承诺使用任何浏览器获取活动网址UIAutomation 但我对如何调用有困难main函数并在 a 中显示结果ListBox例如 那么 会怎样呢 这是我的代码 uses UIAutomationClient TLB active
  • 如何对 dotnet core 角度模板应用程序进行 dockerize?

    我使用 dotnet cli 角度模板创建了一个 Web 应用程序 dotnet new anguar Web 现在我想对这个应用程序进行 dockerize 我将以下 Dockerfile 添加到项目文件夹中 FROM mcr micro
  • Oracle 将字符插入字符串

    我有这个行表 RowA ABC123 DEF432 WER677 JKL342 如何使用 oracle 在记录之间添加 假设添加最后 4 个字符 RowA ABC 123 DEF 432 WER 677 JKL 342 你会尝试这样的事情
  • 我可以在Where 子句中使用Firebird DateAdd 函数吗?

    在火鸟中我可以使用DateAddwhere 子句中的函数 我有以下sql select s number s warranty start from serial number s where s warranty start gt dat
  • 如何建立一对多关系?

    我有以下型号 User id name network id Network id title 我需要添加什么样的 Rails 模型关联才能执行以下操作 user network title network users Thanks 所以网
  • 断点分组

    我正在 Visual Studio 2005 中开发一个基于 C Windows 的项目 我经常在这个巨大的项目中调试不同的功能 现在的问题是我在几个地方做了几个断点 只有在调试该功能时才需要这些断点 我想要然后禁用其他断点 我知道这可能不
  • 为什么我无法在 mac 操作系统上 pip install nltk?

    我正在使用 mac os mojave 安装 python 2 7 并使用 pip 安装python get pip py 我已经尝试使用这些命令来安装 pip pip install upgrade pip pip install nlt
  • INotifyPropertyChanged 以及不同对象上的派生属性

    最近我继承了一个用C 和WPF开发的相当大的项目 它使用绑定以及INotifyPropertyChanged用于将更改传播到视图或从视图传播更改的接口 一点前言 在不同的类中 我有依赖于其他属性的属性在同一个班 例如 考虑财产TaxCode
  • Fetch API如何在catch中获取响应体?

    我从服务器得到这样的响应 Request URL http api bfexchange net wallet balance Request Method GET Status Code 504 Gateway Time out Remo
  • 将 HTML 从内容脚本注入到页面中

    我正在构建一个 Chrome 扩展程序 并且需要在几个网站之上覆盖一个 html 块 目前我正在使用 JQuery Get从我的服务器中提取 html 为了提高性能 我想知道是否可以将 html 作为文件包含在扩展目录中并直接从那里访问源代
  • scala 开发人员如何处理带有 shapeless 的 scala 代码中不正确的 IDE(Idea) 错误

    这是一个带有具体例子的一般性问题 人们如何进入 Scala 并将其用于大型项目来处理工具 IDE 的不可靠性 您是否只接受源代码中的红色标记 我遇到了另一个 scala 代码库 其中工作代码被 idea 标记为红色Cannot resolv
  • git推送到远程存储库“无法从远程存储库读取”

    我搜索了一段时间 但找不到解决我的问题的方法 我有一个服务器 我可以使用用户名通过 ssh 连接到git和本地 git 存储库 现在我想将我的本地存储库推送到服务器上新创建的存储库 这是我所做的 创建了一个 git 存储库 home git