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://git@server.com/repo.gity no también cuando se usa git@server.com/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 git@server.com/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://git@server.com/repo.git?

Entonces necesito agregar el ssh://frente.


¿El servidor usa un puerto SSH alternativo? Me gustassh://git@server.com:2222/
7ochem

No. Son 22. Como ssh://git@server.com/repo.gitfunciona mientras git@server.com/repo.gitno. No estoy agregando el :porten ningún caso. Cuando lo intento sin ssh://llegar fatal: repository 'git@server.com/something/repo.git' does not exist. Con ssh://git@server.com/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 daniels@server.com:repo.git

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.