
joce
Planeo migrar mis proyectos a git, y actualmente me pregunto cuál es la mejor y/o la opción más estable en Windows.
Por lo que deduzco, básicamente tengo 2.5 opciones:
- MSYSgit
- meterse debajo Cygwin
- (también conocido como 2.5) MSYSgit desde un indicador de Cygwin (dado que Cygwin git ya está instalado).
Nota: En mi opinión, Cygwin en sí mismo es una gran ventaja, ya que puede tener acceso a prácticamente todas las herramientas de línea de comandos * nix, mientras que con MSYSgit bash, solo tiene acceso a un subconjunto bastante pequeño de estas herramientas.
Ante eso, ¿qué opción sugerirías?

VonC
Editar (2 años más después: octubre de 2014)
johannes schindelin recién explicado (octubre de 2014) que msysgit está eliminado:
ahora tenemos un SDK ligero de Git para Windows – que es esencialmente un sistema MinGW/MSys estándar administrado a través del administrador de paquetes mingw-get.
Decidimos eliminar gradualmente el nombre “msysGit” (así como el GitHub org del mismo nombre) y trabajar en Git para Windows (con el correspondiente organización de GitHub)y usando el nombre “Git para Windows” para el instalador dirigido a “usuarios finales” y “Git para SDK de Windows” para el entorno de desarrollo dirigido a desarrolladores de Git para Windows).
Editar (3 años después: abril de 2012)
MsysGit (ahora en GitHub) es el camino a seguir si desea un inicio rápido y liviano en el mundo de Git: descomprima el archivo, inicie git-cmd.bat
o git-bash.bat
y listo
Su última versión (1.7.10, abril de 2012) ahora incluye soporte para UTF-8, también incluido en GitExtension. No olvide configurar su autocrlf
aunque a falso.
Si realmente se está perdiendo todos los demás comandos de Unix, no los paquetes con msysgit, simplemente descargue una versión de GoW (Gnu en Windows)acertadamente llamado “La alternativa ligera a Cygwin”.
Quiero decir: 130 comando unixs…
Cygwin debería ser una solución de respaldo solo para ciertos casos, como la velocidad de transferencia de grande Repositorios de Git, como se menciona a continuación por incrementor en su respuesta.
Junio 2012: si quieres interactuar con GitHubahora tienes http://windows.github.com (ver también “Diseñando GitHub para Windows“).
No solo configurará las claves ssh por usted (y agregará la clave pública generada a su perfil de GitHub), sino que también instalará, para todas las operaciones de git, un… MsysGit.
Respuesta original (abril de 2009)
No tengo ningún problema con la última versión de MsysGit:
Uso la opción 2, lo que significa que solo agrego el directorio git\bin a la variable de entorno PATH, pero sin anular algunas herramientas integradas de Windows.
Logré definir herramientas externas como Notepad++ y WinMerge (o DiffMerge)
Ejecuté con éxito scripts como svn2git porque, desde MsysGit1.6.2+, incluye el ‘git svn
comando.
Y finalmente espero MsysGit1.6.2.3 para ello. incluirá finalmente ‘git filter-branch
comando! (una versión lenta de filter-branch, pero aún así).
Para el comando Unix, prefiero instalar un paquete GnuWin32 coreutils y usarlo solo cuando lo necesito.
Entonces, en general, no uso la capa Cygwin y logré ejecutar Git muy bien en su versión MsysGit basada en Windows.
Si. Vieja pregunta. Nueva respuesta:
Hemos estado usando MSYSgit durante aproximadamente 2 años en una gran implementación. La velocidad de las transferencias desde un servidor de repositorio git local se ha limitado a menos de 5 MiB/s. Una investigación anterior sobre el problema indicó que el problema era que los desarrolladores de MSYS estaban en Windows XP y Windows 7, lo que limitaba la seguridad de las conexiones desde el símbolo del sistema/bash shell. Esto no parece ser, de hecho, el problema.
yo descubrí Publicación en el blog de Darrell Mozingo y probé un clon de un repositorio grande (muchos GiB) usando solo una instalación de Cygwin. Las velocidades de transferencia estaban en el rango de 30 MiB/s. El problema es que MSYSgit usa un antiguo binario OpenSSH de 2007.
Con este fin, hasta que eso se solucione, ahora recomiendo un cambio a Cygwin (aunque la versión de git está un poco atrasada). También descubrí que Cygwin es más estable y es menos probable que Perl se quede sin memoria.

evan
He incursionado en el uso de las versiones MSYS y Cygwin de git y, para ser realmente honesto, no encontré ninguna experiencia especialmente buena. Simplemente no creo que git esté realmente listo para Windows todavía.
Dicho esto, un problema que encontré con la versión MSYS es que convertiría los finales de línea en sus archivos (no binarios) del estilo UNIX (salto de línea) al estilo DOS (retorno de carro/salto de línea). Puede considerar esto como un error o una característica, pero no hay forma de cambiar el comportamiento que pude encontrar. (EDITAR: Establecer la variable de configuración core.autocrlf
para false
. Gracias Brian.)
OTOH, la versión MSYS de git tiene alguna funcionalidad GUI que no está disponible en la versión cygwin a menos que desee instalar y ejecutar un servidor X completo. (Gracias Joce por confirmar esto).
Mi impresión es que la versión MSYS es más popular, aunque eso puede deberse a que no necesitas instalar un ecosistema cygwin para usarla. (Y estoy de acuerdo, cygwin es extremadamente útil).
Personalmente, iría con cualquiera Bazar o Mercurialcualquiera de los cuales tiene mejor soporte para Windows IMO.
Tanto Cygwin como Msys Git funcionan bastante bien para casos de uso normales. Si desea utilizar scripts como git-svn, Cygwin es una mejor opción. Como un antiguo usuario de Windows que finalmente saltó a Linux, definitivamente puedo decir que Cygwin es una gran ayuda y vale la pena tenerlo en sí mismo.
Sin embargo, el contexto es importante; que proyectos son estos ¿Por quién son utilizados? Etc
También probé ambos mundos (CygWin y MSysgit), mi experiencia también es que hay algunas deficiencias en MSysgit bash. No se pudo ejecutar git stash con éxito mientras Cygwin lo manejó con gracia en el mismo repositorio de git.
Sin embargo, aún no se ha realizado un análisis profundo…

tigraína
Actualmente uso Msysgit junto con TortoiseGit.
La interfaz de usuario de MsysGit no es realmente de mi agrado, así que uso una herramienta familiar como TortoiseGit y cuando trabajo en la línea de comandos (la mayoría de las veces), uso el binario git de Msysgit

Konstantin Tenzin
Yo recomendaría msysgit. especialmente si se usa con Extensiones Git: proporciona una manera fácil de configurar el entorno: herramientas de editor/diff/merge, y permite realizar operaciones avanzadas de git desde la interfaz de usuario.