El server de Git Push to Remote se cuelga con Cygwin

Soy nuevo en git a través de la command-line y me he encontrado con algunos problemas de los que no he podido salir.

He configurado un repository en mi server y he creado un directory local usando las instrucciones en thelucid.com .

en el server:

ssh git@example.com mkdir my_project.git cd my_project.git git init --bare git update-server-info # If planning to serve via HTTP exit 

luego, en la máquina local:

 cd my_project git init git add * git commit -m "My initial commit message" git remote add origin git@example.com:my_project.git git push -u origin master 

Cuando llego al último command aquí "git push -u origin master" el command se cuelga y cuelga y nunca se detiene.

El estado de git en local me da esto:

 $ git status On branch master nothing to commit, working directory clean 

El estado de git en el server (dentro de myproject.git /) me da:

 $ git status fatal: This operation must be run in a work tree 

No estoy seguro de dónde mirar, he intentado muchas cosas, pero mi ignorancia es montañosa y podría usar una guía; tal vez un mago, algunos enanos y un hobbit si tienes repuestos. Cualquier ayuda sería muy apreciada.

Estoy en Windows 8.1. Usando Cygwin

Gracias.

Si está usando Windows, msysgit es una mejor opción. Se sabe que usar git push en Cygwin tiene problemas. La esencia de esto es que Git, de forma pnetworkingeterminada, intenta usar un "prompt de contraseña simple" como parte de su process de authentication de usuario, como se menciona en el documento git-config doc (búsqueda de core.askpass ). Sin embargo, este aviso de contraseña solo funciona en UNIX real, pero no en Cygwin. Si está interesado, puede leer sobre el historial de este problema aquí .

Si tiene que usar Cygwin, asegúrese de haber instalado los packages de Cygwin git como se especifica aquí . Luego intente ejecutar este command:

$ git config --global core.askpass /usr/libexec/git-core/git-gui--askpass

Probablemente haya otras soluciones más complicadas, pero creo que la solución más simple es instalar msysgit. 🙂

El problema es que estás dentro de la carpeta .git. debe estar en la carpeta raíz (el padre de .git) para poder ver el estado y luego presionar todos sus cambios.

 cd.. git status