git-receive-pack не найден
Я пытаюсь настроить удаленный сервер git на Mac mini под управлением OSX 10.8.2. Я настроил ssh, чтобы клиенты могли подключаться к учетной записи git на удаленном хосте. Когда я пытаюсь выполнить мастер git push origin от одного клиента, я получаю следующую ошибку:
bash: git-receive-pack: команда не найдена
Неустранимый: Не удалось прочитать из удаленного хранилища.
(От другого клиента я получаю:
bash: git-upload-pack: команда не найдена
И фатальная ошибка.
Я убедился, что git receive pack и git upload pack установлены и находятся в пути как на клиенте, так и на хосте.
Что я могу сделать, чтобы исправить или устранить проблему?
1 ответ
Прочтение этого поста помогло мне понять, как решить проблему. Поскольку поток предполагает наличие базовых знаний, которых у меня не было (и которых у других новичков может не быть), я обобщаю и пытаюсь упростить ответ здесь.
Git push, по-видимому, работает через учетную запись, не входящую в систему, т. Е. Ту, у которой нет пароля. Смотрите здесь. Переменная пути для учетной записи git, не входящей в систему, отличается от пути для обычной учетной записи для входа. Даже если вы войдете в систему на удаленном компьютере, при вводе echo $PATH будет отображаться только ваш путь, а не путь учетной записи, не входящей в систему. Чтобы увидеть путь к учетной записи без входа в систему, вы должны ввести (с клиента):
ssh you @ remotemachine echo \ $ PATH
(Обратная косая черта не позволяет локальному компьютеру перехватывать и расширять переменную $ PATH до того, как она попадет на удаленный компьютер.) При этом возвращается путь для учетных записей, не входящих в систему. В моем случае путь по умолчанию для учетных записей без регистрации не включал путь к соответствующим файлам git. Как только я добавил путь к git-upload & c, все заработало нормально. Правильный путь можно добавить к пути по умолчанию для учетных записей без регистрации на удаленном компьютере, "установив его в.bashrc (для Bash), .zshenv (для Zsh), .cshrc (для tcsh) или эквивалентный для вашей оболочки."
Надеюсь, что это поможет кому-то еще с этой проблемой.