Frage

Ich habe GIT auf einem Solaris-Server ausgeführt wird.

Von einem Windows-Rechner installierte ich Cygwin zu versuchen, einen Repository auf dem Server gehostet zu klonen.

ich wie folgt vor:

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

Also ich versuche

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

Es scheint, wie git nicht in / usr / bin / aber in / usr / local / bin /. Ich habe versucht, den Pfad in Bashrc auf meinem Home-Verzeichnis auf dem Server zu ändern, um hinzuzufügen / usr / local / bin / ... aber es scheint nicht zu funktionieren.

Was mache ich falsch?

War es hilfreich?

Lösung

~/.bashrc wird durch Nicht-Login-Shells lesen, sondern nur durch bash , und der Server verwendet KSH .
~/.profile ist (glaube ich) Universal-Initialisierungsdatei, aber es ist zu lesen nur durch Login-Shells .
~/.kshrc ist typisch Startdatei von KSH lesen, aber nur, wenn ENV Umgebungsvariable ist es festgelegt (siehe aber SendEnv in ssh_config manpage).


Sie können auch immer --upload-pack=/usr/local/bin/git-upload-pack Option „git clone“ (und dann setzen remote.origin.uploadpack Konfigurationsvariable) passieren, wenn Sie nicht PATH auf Remote einstellen. Und natürlich remote.origin.receivepack wenn es nicht finden kann, git-erhalten-Pack.

Andere Tipps

wie die Shell-Sounds auf der Solaris-Maschine ist KSH und nicht bash, weshalb Ihr Bashrc ist nicht gelesen wird. Versuchen Sie setzen die Änderung in .profile

Ich hatte / usr / local / bin in .profile zu meinem Weg hinzuzufügen, um es auf solaris abgeholt werden (und git Upload-Pack zu arbeiten). Ich dachte immer, es war meine Boxen, die schlecht konfiguriert wurden, aber vielleicht nicht so ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top