Вопрос

У меня GIT запущен на сервере Solaris.

С компьютера с Windows я установил cygwin, чтобы попытаться клонировать репозиторий, размещенный на сервере.

Я делаю следующее:

$ git clone username@server:project.git
ksh: git-upload-pack: not found

Поэтому я стараюсь

$ ssh username@server echo \$PATH
/usr/bin

Похоже, что git находится не в /usr/bin/, а в /usr/local/bin/.Я попытался изменить ПУТЬ в .bashrc в моем домашнем каталоге на сервере, чтобы добавить /usr/local/bin/ ...но, похоже, это не работает.

Что я делаю не так ?

Это было полезно?

Решение

~/.bashrc считывается оболочками, не входящими в систему, но только удар, и ваш сервер использует кш.
~/.profile это (я думаю) универсальный файл инициализации, но он читается только с помощью оболочек входа в систему.
~/.kshrc является типичным файлом запуска, считываемым ksh, но только в том случае, если ENV для него установлена переменная среды (но смотрите SendEnv в ssh_config manpage).


Кроме того, вы всегда можете пройти мимо --upload-pack=/usr/local/bin/git-upload-pack опция "git clone" (а затем установить remote.origin.uploadpack конфигурационная переменная), если вы не можете задать ПУТЬ на удаленном компьютере.И, конечно же remote.origin.receivepack если он не может найти git-receive-pack.

Другие советы

Похоже, что ваша оболочка на машине Solaris - ksh, а не bash, поэтому ваш .bashrc не читается. Попробуйте внести изменения в .profile

Мне нужно было добавить / usr / local / bin к моему пути в .profile, чтобы его можно было найти на солярисе (и заставить работать git upload-pack). Я всегда думал, что это были мои коробки, которые были плохо настроены, но, возможно, не так ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top