【问题标题】:Can't push git repo to remote server无法将 git repo 推送到远程服务器
【发布时间】:2013-03-10 01:19:43
【问题描述】:

从头开始,在我的 Windows 工作站上设置 git,并按照http://git-scm.com/book/en/Git-on-the-Server-Getting-Git-on-a-Server 上的说明设置我的裸仓库。能够使用 git Bash 将文件 scp 到我的托管服务器,但是当我将 orign 服务器添加到 repo 并尝试推送时,我得到了这个:

Pushing to user@host:/home/user/git/project.git
jailshell: git-receive-pack: command not found
fatal: Could not read from remote repository.

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

感谢您的帮助。

【问题讨论】:

  • 你推送的命令是什么?
  • 不,不完全是。我最初建立了一个名为“杂货店”的本地仓库。说明说要创建一个新的裸仓库,我这样做了,称为“grocery.git”。这是我上传到我的服务器的。
  • 如果我 gitBash 到 /grocery 目录并运行“push origin master”,我会收到上面的错误。如果我从我的“grocery.git”目录运行它,它会显示“一切都是最新的”。 @forival: $ git remote add origin git@gitserver:/opt/git/project.git $ git push origin master

标签: git


【解决方案1】:

您的服务器上没有安装 git。

请参阅Does git need to be present on a server to use it? 了解可能的解决方案。

【讨论】:

    【解决方案2】:

    确保您的路径已设置,以便 git-receive-pack 二进制文件位于路径中。尝试在您的服务器中打开命令提示符/sshing 并运行 git-receive-pack

    如果根本没有安装,请使用 [package-manager install-command] git 在您的服务器上安装 git(其中 package-managerapt-getyum 等,以及 install-command 通常是安装)

    【讨论】:

    • 我根本无法在服务器上安装 git。我的理解是,使用 SSH 应该允许我将服务器存储用作文件放置。不是这样吗?
    • 是的,我记得读过一篇关于 git push 协议和一切工作原理的文章,但我不记得如果没有 git 进程来处理进程,push 是否/如何工作。特别是由于那里的特定于 git 的二进制文件的网络流量更好,我会尝试将它们放在服务器上:stackoverflow.com/questions/6037707/…
    猜你喜欢
    • 2017-02-15
    • 2018-03-23
    • 2013-06-04
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    相关资源
    最近更新 更多