git-receive-pack: команда не найдена

7523
Philippe Mongeau

Я сделал git-репо на локальной машине с помощью «git init --bare» и добавил его в качестве удаленного источника в проекте на моем главном компьютере с помощью ssh:

git add remote origin git@192.168.1.14:repoName.git 

Я смог сделать коммит и перенести его с моего основного компьютера на другой компьютер в тот день, когда я создал репо, но сегодня я попытался, и это не сработало.

Когда я сделал «git push origin», он вернул эту ошибку:

bash: line 1: git-receive-pack: command not found fatal: The remote end hung up unexpectedly 

Две машины - главная, на которой работает Leopard, и сервер, на котором работает Tiger. Я думаю, что это может быть реализовано в $ PATH git на сервере, но я не уверен.

я использовал эти инструкции для создания своего git-сервера: http://blog.commonthread.com/2008/4/14/setting-up-a-git-server

6

3 ответа на вопрос

7
Philippe Mongeau

Итак, я решил свою проблему.

Похоже, проблема была в том, что ssh не читает .bash_profile Что мне нужно было сделать, так это написать

export PATH=$PATH:/usr/local/bin 

вместо этого в .bashrc, так как ssh читает этот файл.

То же самое касается OpenIndiana (и, скорее всего, других юниксов). Размещение определения PATH в .bashrc работает для git push over ssh. Matt Connolly 12 лет назад 0
1
vladimir nosenko

Вам нужно использовать /etc/rc.common вместо ~ / .bashrc, чтобы решить эту проблему для всех пользователей и всех оболочек на вашем сервере.

1
Frank

Стандартная установка Git на OS X ставит gitв/usr/local/git/bin

Оператор .bashrcпути должен выглядеть так

export PATH=$PATH:/usr/local/git/bin