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


12

Irgendeine Idee, warum ein GIT-Repo nur bei Verwendung ssh://git@server.com/repo.gitund nicht auch bei Verwendung funktioniert git@server.com/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 git@server.com/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://git@server.com/repo.git?

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


Verwendet der Server einen alternativen SSH-Port? Gefällt ssh://git@server.com:2222/
mir

Nein, es ist 22. Wie ssh://git@server.com/repo.gitfunktioniert, während git@server.com/repo.gites nicht funktioniert. Ich füge das :portauf keinen Fall hinzu. Wenn ich es ohne versuche, ssh://bekomme ich fatal: repository 'git@server.com/something/repo.git' does not exist. Damit ssh://git@server.com/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 daniels@server.com:repo.git

git clone git@bitbucket.com: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 .)


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.