Der Git-Klon funktioniert nur mit ssh: // git @ .. und nicht mit git @

12

Irgendeine Idee, warum ein GIT-Repo nur bei Verwendung ssh://[email protected]/repo.gitund nicht auch bei Verwendung funktioniert [email protected]/repo.git?

Es ist ein Server-Setup von jemand anderem, also keine Ahnung, wie es eingerichtet wurde, aber auf BitBucket oder GitHub kann ich es einfach verwenden [email protected]/repo.gitund es funktioniert und klont das Repo mithilfe des SSH-Protokolls. Irgendeine Idee, warum für diesen Server iy nur funktioniert, wenn er verwendet wird ssh://[email protected]/repo.git?

Also muss ich das ssh://vorne hinzufügen .

Daniels
quelle
Verwendet der Server einen alternativen SSH-Port? Gefällt ssh://[email protected]:2222/
mir
Nein, es ist 22. Wie ssh://[email protected]/repo.gitfunktioniert, während [email protected]/repo.gites nicht funktioniert. Ich füge das :portauf keinen Fall hinzu. Wenn ich es ohne versuche, ssh://bekomme ich fatal: repository '[email protected]/something/repo.git' does not exist. Damit ssh://[email protected]/something/repo.gitfunktioniert es.
Daniels
Ein Konfigurationsproblem (möglicherweise ein Problem mit der Firewall? Benutzername?) - Ich habe ein ähnliches Problem mit einem Setup in meiner Einrichtung. Der Zugriff über https funktioniert jedoch. Die Lösung besteht darin, die Umschreiberegeln aus diesem Thread zu verwenden: stackoverflow.com/questions/15589682/…
DetlevCM

Antworten:

32

Sie verwenden die falsche Syntax.

Wenn Sie das scheme://Präfix entfernen , interpretiert git Ihre Adresse nicht mehr im URL-Stil, sondern als rcp / scp-Stil. Bei Adressen im RCP / SCP-Stil muss der Pfad jedoch durch einen Doppelpunkt: vom Benutzer @ Host getrennt werden (die Angabe eines Ports wird nicht unterstützt). Zum Beispiel:

git clone [email protected]:repo.git

git clone [email protected]:daniels/example.git

Ohne den Doppelpunkt interpretiert git die Adresse nur als lokalen Pfad.

(Weitere Informationen finden Sie auf der Handbuchseite zum Git-Klon oder zum Git-Abruf .)

user1686
quelle
Hah, Rätsel gelöst. Du hast recht. Vielen Dank.
Daniels
Ich habe den BitBucket-Server (früher Stash, den Sie auf Ihrem Server installiert haben, nicht die Cloud-Version) verwendet und einfach den GIT-Befehl von dort kopiert und eingefügt. Aus irgendeinem Grund fügen sie die fehlenden nicht hinzu :.
Daniels