【问题标题】:CentOS: Git: "fatal: could not read from the remote repository"CentOS:Git:“致命:无法从远程存储库中读取”
【发布时间】:2015-10-31 08:32:46
【问题描述】:

(我已经通读了这篇文章以及其他几篇文章,彻底git: fatal: Could not read from remote repository

我使用自己的服务器作为 git 服务器。我根据几个指南进行了设置。一切都很好,除了读取或写入远程 git 存储库的任何操作。

问题:

当我尝试做任何与我设置的远程服务器交互的事情时,我得到:

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

请确保您拥有正确的访问权限和存储库 存在。

在 Windows 外壳中。在 Cygwin 中它只是挂起。

快速背景:

我使用 CentOS 7 作为服务器,Windows 10 作为客户端。

在服务器上:

  • 我创建了一个新用户'git'

  • mkdir /home/git/myproject.git

  • git init --bare

  • 使用以下方法打开了必要的端口 9418、22 和 443:

    "firewall-cmd --permanent --add-port=22/tcp" 和

    "firewall-cmd --reload"

在客户端:

  • 创建了一个文件夹,创建了一个包含一些文本的文本文件,运行 'git init'、'git add 。'
  • 根据多个指南设置 RSA 密钥

什么有效:

我可以使用 windows shell、cygwin 和 puTTy 很好地 ssh 进入服务器。文件夹 /home/git/mproject.git 存在。 git 在本地使用 windows shell 或 Cygwin 都可以正常工作。

尝试的解决方案:

我试过了:

chmod 600 pyproject.git
chmod 700 pyproject.git
chmod 777 pyproject.git
git remote add origin git@my-site.com:/home/git/myproject.git
git remote add origin git@my-site:/home/git/myproject.git
git remote add origin ssh://git@my-site.com/home/git/myproject.git
git remote add origin ssh://git@my-site.com/repo-<wbr< a="">>/home/git/myproject.git..git
git remote add origin ssh://git@my-site.com/repo-<wbr< a="">>/home/git/myproject.git
git remote add origin git@my-site.com:/home/git/myproject.git
git clone git@my-site.com:/home/git/myproject.git
git remote add origin https://git@my-site.com/home/git/myproject.git
git clone ssh://git@my-site.com/home/git/myproject.git
git clone ssh://git@my-site.com/myproject.git
git clone https://git@my-site.com:myproject.git
git clone ssh://git@my-site.com/home/git/myproject.git
git clone git@my-site.com/home/git/myproject.git
git clone git@my-site.com:/home/git/myproject.git
git clone git@my-site.com/myproject.git

我可以用 ssh git@my-site.com 登录服务器就好了。我还可以导航到 /home/git/myproject.git 文件夹。端口是开放的。还有什么问题?

【问题讨论】:

  • 用户“git”能否在服务器本地克隆repo?
  • 是的。 (我只是在您发布此内容后对其进行了测试)
  • 你能以git clone ssh://git@my-site.com/home/git/myproject.git的另一个用户身份在服务器上本地克隆repo吗?
  • 是的,在被要求输入 'git 的密码后
  • 这可能有点牵强,你能从你的客户端使用ssh: 克隆任何其他远程仓库吗?要排除本地 ssh 的问题,您可以尝试使用 http:git: 进行克隆。

标签: linux git centos


【解决方案1】:

所以问题似乎是客户端和服务器使用的 git 版本非常不同。我相信客户端使用的是 1.9,而服务器使用的是 2.6。不仅如此,git 的版本还取决于我使用的是 windows 终端还是 Cygwin。

现在,在删除旧版本并更新 git 后,如下命令:

git remote add origin git@mysite.com:/home/git/myproject.git
git push origin master

正常工作。

【讨论】:

    猜你喜欢
    • 2012-11-10
    • 2015-01-19
    • 2020-09-14
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2019-10-24
    相关资源
    最近更新 更多