2

我在我的~/.ssh/config

Host myserver
    User myusername
    ProxyCommand ssh myserver2 exec nc myserver 22

但是当我尝试拉取远程 git 存储库时,我收到此错误:

% git pull myserver:~/mygitrepository
zsh:1: command not found: git-upload-pack
fatal: The remote end hung up unexpectedly

问题是我的 git 可执行文件不在 $PATH 定义的标准路径中。在远程机器上:

% which git-upload-pack
/c5/shared/git/1.7.6/bin/git-upload-pack

在本地机器上:

% ssh myserver "env | grep PATH"
PATH=/usr/local/bin:/bin:/usr/bin

ssh 不会读取 .zshrc 或 .bashrc 中的远程 PATH 定义。如何通过 ssh 定义 git 可执行文件的路径?

4

1 回答 1

2

其实我在这里找到了答案。一种解决方案是使用以下命令在远程设置上传包路径:

git pull --upload-pack=/c5/shared/git/1.7.6/bin/git-upload-pack myserver:~/mygitrepository

在客户端。

于 2013-03-06T10:27:27.397 回答