我在~/.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将PATH定义为git可执行文件?
答案 0 :(得分:2)
其实我找到了答案here。一种解决方案是使用以下方法在远程设置上传包路径:
git pull --upload-pack=/c5/shared/git/1.7.6/bin/git-upload-pack myserver:~/mygitrepository
在客户端。