'X' no parece ser un repository de git (estoy seguro de que la ruta es correcta)

Deseo poder trabajar desde casa mediante la clonación del repository git que existe en mi escritorio de trabajo en mi computadora portátil. Ambos sistemas ejecutan msysgit dentro de un shell cygwin. Ambos sistemas están utilizando ssh de cygwin.

Si cambio a ese server, puedo ver el repository en la ruta / cygdrive / d / Projects / TheProject

$ ssh TheDesktop [email protected]'s password: ...I enter the password, see the MOTD, and I'm in... $ cd /cygdrive/d/Projects/TheProject ...See the git repository here. Even see the current branch in the prompt... 

Pero trato de clonar y falla:

 $ git clone ssh://TheDesktop/cygdrive/d/Projects/TheProject Cloning into TheProject [email protected]'s password: ...I enter the password... fatal: '/cygdrive/d/Projects/TheProject' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

También intenté enlazar simbólicamente el repository a mi carpeta de inicio:

 $ ssh TheDesktop [email protected]'s password: ...I enter the password... $ ln -s /cygdrive/d/Projects/TheProject . $ exit $ git clone ssh://TheDesktop/~/TheProject Cloning into TheProject [email protected]'s password: ...I enter the password... fatal: '/cygdrive/d/Projects/TheProject' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

Ciertamente veo este error en muchas preguntas aquí, y casi siempre se relacionan con un mal path. Pero estoy realmente seguro de que mi path es correcto. Tengo la sensación de que tiene algo que ver con el entorno que se muestra en el escritorio, pero realmente no puedo entender qué. ¿Qué otras cosas podrían causar este error?

 git clone TheDesktop:cygdrive/d/Projects/TheProject TheProject 

debería arreglarlo

Si el server ssh no está en cygwin, sustituya la ruta de Windows:

 cygpath --mixed /cygdrive/d/Projects/TheProject 

Según mi experiencia, cygwin transmite el estilo de ruta incorrecto a msysgit. Msysgit no comprende / cygdrive y, por lo tanto, lo arruina, excepto con un único argumento en la command-line, en cuyo caso cygwin bash parece hacer la conversión mágicamente.

Sin embargo, tal cosa no será verdad para gitshell sobre cygwin sshd. Supongo que probaste algo cercano a

 git clone TheDesktop:D:/Projects/TheProject TheProject 

Si eso no funciona, miraría

 git daemon # wasn't supported on Windows last time I checked 

o

 git bundle create repo.bundle --all # receive it on the remote scp TheDesktop:repo.bundle git clone repo.bundle TheProject 

necesita clonar el repository en sí, no el tree de trabajo asociado:

 $ git clone ssh://TheDesktop/cygdrive/d/Projects/TheProject/.git TheProject 

Deberia trabajar

Podría tener que ver con que git quiere encontrar "cygdrive / d / Projects / TheProject" relativo a su carpeta de inicio de session.

En tu primer ejemplo, inicias session a través de ssh y luego haces "cd / cygdrive / …", que es una ruta absoluta, no relativa.

Cambiar la carpeta de inicio de session de ssh para que apunte, por ejemplo, a la carpeta de Proyectos, podría ayudarlo. Y también acortar su ruta ssh 🙂