Git clone solo funciona con ssh: // git @ .. y no con git @

11

¿Alguna idea de por qué un repositorio GIT funcionaría solo cuando se usa ssh://[email protected]/repo.gity no también cuando se usa [email protected]/repo.git?

Es una configuración de servidor realizada por otra persona, así que no tengo idea de cómo se configuró, pero en BitBucket o GitHub puedo usarla [email protected]/repo.gity funciona y clona el repositorio usando el protocolo SSH. ¿Alguna idea de por qué para este servidor solo funciona cuando se usa ssh://[email protected]/repo.git?

Entonces necesito agregar el ssh://frente.

daniels
fuente
¿El servidor usa un puerto SSH alternativo? Me gustassh://[email protected]:2222/
7ochem
No. Son 22. Como ssh://[email protected]/repo.gitfunciona mientras [email protected]/repo.gitno. No estoy agregando el :porten ningún caso. Cuando lo intento sin ssh://llegar fatal: repository '[email protected]/something/repo.git' does not exist. Con ssh://[email protected]/something/repo.giteso funciona.
daniels
Un problema de configuración de algún tipo (¿tal vez un firewall? ¿Problema de nombre de usuario?) - Tengo un problema similar con una configuración en mi institución. Sin embargo, el acceso a través de https funciona, por lo que la solución es usar las reglas de reescritura de este hilo: stackoverflow.com/questions/15589682/…
DetlevCM

Respuestas:

32

Estás utilizando la sintaxis incorrecta.

Cuando eliminas el scheme://prefijo, git ya no interpreta tu dirección en estilo URL, sino más bien como estilo rcp / scp. Pero para las direcciones de estilo rcp / scp, la ruta debe estar separada del usuario @ host usando dos puntos: (no se admite un puerto que especifique). Por ejemplo:

git clone [email protected]:repo.git

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

Sin los dos puntos, git solo interpretará la dirección como una ruta local.

(Puede ver más detalles en la página del manual de git clone o git fetch ).

usuario1686
fuente
Ja, misterio resuelto. Tienes razón. Gracias.
daniels
Estaba usando el servidor BitBucket (antiguo Stash, el que instala en su servidor, no la versión en la nube) y simplemente copié y pegué el comando GIT desde allí. Por alguna razón, no agregan los que faltan :.
daniels