2

私はsshを介して、これを使用して離れたマシンに接続します~/.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するためのPATHを定義するにはどうすればよいですか?

4

1 に答える 1

2

実際、私はここで私の答えを見つけました。1つの解決策は、以下を使用してリモートでアップロードパックパスを設定することです。

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

クライアントで。

于 2013-03-06T10:27:27.397 に答える