小编典典

git-upload-pack:克隆远程 Git 存储库时找不到命令

all

我一直在使用 git 来同步我的项目的两个副本,一个是我的本地机器,另一个是测试服务器。这是我使用 ssh 登录远程开发服务器时出现的问题;

git clone me@me.mydevbox.com:/home/chris/myproject
Initialized empty Git repository in /tmp/myproject/.git/
Password:
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly
fetch-pack from 'me@me.mydevbox.com:/home/chris/myproject' failed.

(文件名已更改以保护有罪…!)

两个盒子都运行 Solaris 10 AMD。我已经做了一些挖掘,如果我添加--upload-pack=$(which git-upload- pack)命令有效,(并根据 RTFM 解决方案证明它$PATH包含“git-upload-pack”的路径)但这真的很烦人,加上“git
push”不起作用,因为我认为没有--unpack=选择。

顺便说一句,所有 git 命令在我的本地机器上都可以正常工作,它是相同版本的软件(1.5.4.2),安装在/usr/local/bin.

有人可以帮忙吗?


阅读 139

收藏
2022-08-17

共1个答案

小编典典

确保git-upload-pack位于非登录 shell 的路径上。(在我的机器上它位于/usr/bin)。

要从非登录 shell 查看您的路径在远程计算机上的样子,请尝试以下操作:

ssh you@remotemachine echo \$PATH

(这适用于 Bash、Zsh 和 tcsh,可能也适用于其他 shell。)

git-upload-pack如果它.bashrc返回.zshenv的路径不包括具有.cshrc.

您将需要在远程计算机上进行此更改。

如果您不确定需要将哪个路径添加到您的 remote PATH,您可以使用以下命令找到它(您需要在远程机器上运行它):

which git-upload-pack

在我打印的机器上/usr/bin/git-upload-pack。因此,在这种情况下,/usr/bin您需要确保的路径位于远程非登录
shellPATH中。

2022-08-17