【问题标题】:git-receive-pack not found未找到 git-receive-pack
【发布时间】:2013-03-13 17:37:05
【问题描述】:

我正在尝试在运行 osx 10.8.2 的 mac mini 上设置远程 git 服务器。我已经设置了 ssh,以便客户端可以连接到远程主机上的 git 帐户。当我尝试从一个客户端执行 git push origin master 时,出现以下错误:

bash: git-receive-pack: 找不到命令

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

(我从另一个客户那里得到:

bash: git-upload-pack: 找不到命令

还有致命错误。

我已确保 git receive pack 和 git upload pack 已安装并在客户端和主机的路径中。

我可以做些什么来修复或解决问题?

【问题讨论】:

    标签: macos git


    【解决方案1】:

    阅读this post 帮助我弄清楚了如何解决问题。因为该线程假定了我没有的背景知识(以及其他新手可能没有的),所以我在这里总结并尝试简化答案。

    Git push 显然是通过“非登录”帐户工作的,即没有密码的帐户。见here。非登录 git 帐户的路径变量与普通登录​​帐户的路径不同。即使你登录到远程机器,输入 echo $PATH 仍然只会显示你的路径,不是非登录帐户的路径。要查看非登录帐户的路径,您必须输入(来自客户端):

    ssh you@remotemachine echo \$PATH

    (反斜杠可以防止本地机器在 $PATH 变量到达远程机器之前拦截和扩展它。)这样做会返回非登录帐户的路径。就我而言,非登录帐户的默认路径不包括相关 git 文件的路径。一旦我添加了 git-upload &c 的路径,一切正常。正确的路径可以添加到远程机器上非登录帐户的默认路径中,方法是“将其设置为 .bashrc(对于 Bash)、.zshenv(对于 Zsh)、.cshrc(对于 tcsh)或您的 shell 的等效项。 "

    希望这可以帮助其他人解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 2014-09-05
      • 2013-03-24
      • 2012-07-30
      • 1970-01-01
      • 2020-09-15
      相关资源
      最近更新 更多