Editar (2 años más después: octubre de 2014)
Johannes Schindelin acaba de explicar (octubre de 2014) que msysgit está eliminado :
ahora tenemos un SDK de Git para Windows liviano , que es esencialmente un sistema MinGW / MSys estándar administrado a través del administrador de paquetes mingw-get.
Decidimos simplemente eliminar el nombre "msysGit" (así como la organización de GitHub del mismo nombre ) y trabajar en Git para Windows (con la correspondiente organización de GitHub) , y usar el nombre "Git para Windows" para el instalador destinado en "usuarios finales" y "Git para Windows SDK" para el entorno de desarrollo dirigido a Git para desarrolladores de 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 ligero en el mundo de Git: descomprima el archivo, inicie git-cmd.bat
o git-bash.bat
y ya está.
Sus última versión (1.7.10, abril de 2012) ahora incluye soporte para UTF-8 , también incluido en GitExtension . Sin embargo, no olvide establecer su autocrlf
en falso .
Si realmente le faltan todos los demás comandos de Unix, no los paquetes con msysgit, simplemente descargue una versión de GoW (Gnu en Windows) , apropiadamente llamada "La alternativa ligera a Cygwin".
Quiero decir: 130 comandos unix s ...
Cygwin debería ser una solución de respaldo solo para ciertos casos, como la velocidad de transferencia de grandes repositorios de Git, como se menciona a continuación por incrementor en su respuesta .
Junio de 2012: si desea interactuar con GitHub , ahora tiene http://windows.github.com (consulte también " Diseño de 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 Ejecuté con svn2git porque, desde MsysGit1.6.2 +, incluye el git svn
comando ' '.
Y finalmente espero con ansias MsysGit1.6.2.3 para eso incluirá finalmente git filter-branch
el comando ' ' ! (una versión lenta de filter-branch, pero aún así).
Para el comando de Unix, prefiero instalar un paquete coreutils de GnuWin32 y usarlos solo cuando los necesito.
Entonces, en general, no uso la capa Cygwin y logré ejecutar Git muy bien en su versión MsysGit basada en Windows.
Si. Pregunta antigua. Nueva respuesta:
Hemos estado usando MSYSgit durante aproximadamente 2 años en una implementación grande. La velocidad de las transferencias desde un servidor de repositorio de 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 la seguridad de Windows 7 limitaba las conexiones desde el símbolo del sistema / shell bash. Este no parece ser, de hecho, el problema.
Descubrí entrada de blog de Darrell Mozingo y probado un clon de un gran (muchos GIB) Repo usando solamente un Cygwin instalar. Las velocidades de transferencia estaban en el rango de 30 MiB / s. El problema es que MSYSgit usa un binario OpenSSH antiguo 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 encontré que Cygwin es más estable y menos probable que perl se quede sin memoria.
fuente
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 (avance de línea) al estilo DOS (retorno de carro / avance de línea). Puede considerar esto un error o una característica, pero no hay forma de cambiar el comportamiento que pude encontrar. (EDITAR: establezca la variable de configuración
core.autocrlf
enfalse
. Gracias Brian).OTOH, la versión MSYS de git tiene algunas funciones de GUI que no están disponibles 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 puede deberse a que no es necesario instalar un ecosistema cygwin para usarla. (Y estoy de acuerdo, cygwin es extremadamente útil).
Personalmente, iría con Bazaar o Mercurial , cualquiera de los cuales tiene un mejor soporte para Windows IMO.
fuente
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 viejos usuarios de Windows que finalmente se lanzaron a Linux, definitivamente puedo decir que Cygwin es una gran bendición y que vale la pena tener en sí mismo.
Sin embargo, el contexto es importante; que proyectos son estos? ¿Quiénes los utilizan? Etc.
fuente
También he probado ambos mundos (CygWin y MSysgit), mi experiencia también es que hay algunas deficiencias en el bash de MSysgit. No se puede ejecutar git stash con éxito mientras Cygwin lo manejaba con gracia en el mismo repositorio de git.
Sin embargo, aún no se ha realizado un análisis profundo ...
fuente
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 parte del tiempo), uso el binario git de Msysgit
fuente
Recomendaría msysgit. Especialmente si se usa con extensiones de Git : proporciona una manera fácil de configurar el entorno: editor / diff / merge tools, y permite realizar operaciones avanzadas de git desde la interfaz de usuario.
fuente
Me he encontrado con errores graves en la implementación de cygwin de MSys: algunos comandos, especialmente el rebase, eran bastante propensos a fallar. Cygwin's fue mucho más estable para mí.
Dicho esto, fue hace un mes, podría haber mejorado desde entonces.
fuente
He usado Cygwin Git y Msysgit con Windows. Sugeriría usar Cygwin + Git. Cygwin 1.7 (actualmente en versión beta) aborda un matiz importante (al menos para mí) al usar git gui y gitk. Las versiones anteriores de Cygwin solían abrir decenas de ventanas cmd cada vez que hago algo en git-gui o gitk. Esto se ha abordado en 1.7. El poderoso shell de Cygwin también trae muchas de las ventajas de la terminal de Linux.
Dicho esto, Msysgit ha evolucionado bastante y es realmente útil en Windows. Sin embargo, enfrenté un par de problemas.
Problema de permiso: algunos archivos creados de forma nativa en Windows tenían el modo 755 que se convirtió a 644 mientras usaba Msysgit. Esto se mostraría como archivos modificados. Un registro debería solucionar este problema.
CRLF: el escurridizo CRLF, como de costumbre, crea problemas en Windows. Msysgit puede informar archivos modificados. Esto se puede solucionar seleccionando "Dejar los finales de línea sin cambios" (olvidé el texto exacto) al instalar Msysgit.
Daemon: Y sí, todavía me resulta difícil configurar git daemon en Msysgit.
fuente
Nueva respuesta a una vieja pregunta ...
Estoy usando git 1.7.3 desde un shell cmd de Windows 7 y funciona muy bien. Utilizo una combinación de línea de comando git y git gui, y ambos han funcionado bien durante meses. Tuvimos problemas de retorno de carro / avance de línea, exacerbados cuando agregamos desarrolladores de Mac al equipo, pero estos se resolvieron con ...
No digo que no debas usar un shell * nix-y, solo que no es necesario.
fuente
Tengo reservas hacia CygWin porque solo quiero git y no ninguna de las otras herramientas que Cygwin quiere introducir. Normalmente, quieres que tu computadora con Windows funcione como una computadora con Windows y CygWin quiere usar algo completamente diferente. Darle una palmada a la funcionalidad * nix solo por diversión no es para desaparecer.
La cuestión es que, si alguna vez quiero trabajar con * nix como la línea de comandos, iría a mi máquina Linux y trabajaría en esa computadora. Computadoras virtuales y escritorios remotos funcionan como un encanto hoy en día y son lo suficientemente accesibles para los desarrolladores.
Realmente debe haber una razón legítima para que utilice CygWin. Si es solo para usar git, le sugiero que use MSysGit que es mi preferencia. Funciona muy bien con las herramientas gitk y git-gui que se incluyen. He estado trabajando tanto en Eclipse como en Visual Studio usando msysgit y funciona como un encanto.
Lo único que estoy esperando ahora es un clon de Tortuga completamente funcional para git .
fuente
Hay un escenario en Windows en el que simplemente tiene que usar Git a través de Cygwin: aquí es cuando desea usar Git contra un servidor SVN, que espera versiones de cliente SVN superiores a 1.5. Existen ganchos de confirmación previa de SVN que bloquean las confirmaciones cuando no hay un argumento 'mergeinfo', y el argumento 'mergeinfo' es predeterminado en SVN solo desde la versión 1.5. El problema con msysGit es que está construido contra una versión anterior de SVN (1.4.6), por lo que no puede confirmar con éxito en este caso. Pero es posible con Cygwin's Git, ya que está construido contra versiones más nuevas de SVN.
fuente
Si solo desea realizar acciones simples como empujar / tirar / ramificar, puede probar SourceTree de Atlasian. Una interfaz de usuario muy simple y clara para el comando Git. Sin embargo, tiene deficiencias.
Si necesita usar la herramienta git de línea de comandos, simplemente obtenga la herramienta Git para Windows. Debería ser suficiente, a menos que empiece a buscar en bash scripting.
fuente