¿Utiliza Cygwin o la versión msysGit de Git, o ambas?

Estoy ejecutando Windows 7, acabo de instalar Cygwin por primera vez hoy, así que he estado jugando con eso. Ahora estoy deseando comenzar a usar Git también.

Por lo que he leído, msysGit te permitirá usar una GUI, y también agrega un clic derecho en una carpeta / file Add to Git GUI y Add to GIT Bash las opciones del menu contextual de Add to GIT Bash .

Al mismo time, aunque me gustaría usar la command-line para hacer algunas cosas de Git, pero creo que como principiante de Git, sería bueno tener los menus de context y una GUI.

Así que estoy algo atrapado. Par de preguntas…

  1. Si instalo Git con msysGit ¿puedo ejecutar las líneas de command para Git con Cygwin?

  2. Un libro dice que puede instalar versiones de Cygwin y msysGit, si ese es el caso, ¿ambos trabajan en los mismos files / repository o es como tener 2 repositorys Git separados en cada file? Si ese es el caso, entonces parece exagerado.

  3. También vi que msysGit tiene una versión portátil. Si tuviera que usar esta versión portátil, ¿eso significa que el repository de Git está almacenado en el dispositivo portátil USB o solo en el progtwig? Sería genial si es el progtwig Git y el repository de código almacenado portátil.

1) Si no está utilizando cygwin para nada más y desea usar Git, vaya con msysgit. Aporta una buena integración de Git a Windows y casi todas las herramientas GUI: Git Extensions, TortoiseGit y otras que conozco dependen de msysgit. También con msysgit, puedes usar git de cmd, powershell, etc., que no es posible si solo tienes cygwin git.

msysgit viene con su propio bash y puedes usarlo para la command-line y no necesitarás cygwin (nuevamente, desde el punto donde no usas cygwin para otras cosas). Casi todas las funciones de git están disponibles en msysgit y, a exception de algunos cambios específicos de Windows (y performance), encontrará que todo funciona de forma similar a git en * nix. cygwin no será tan eficiente como msysgit y mucho less git nativo en * nix.

2) Y es posible tenerlos a ambos y no necesita repositorys separados. Pueden coexistir pacíficamente.

3) Los repositorys Git son ligeros ya que solo involucran el sistema de files. No existe el concepto de repositorys git portátiles, ya que son efectivamente portátiles. Msysgit portable está diseñado para permitirle operar en repositorys Git en un sistema sin instalar msysgit.

Puede usar una o ambas cosas, pero hay algunas cosas de las que debe cuidarse.

En mi trabajo más reciente, la mayoría del equipo usaba msysGit; Utilicé Cygwin git porque de todos modos soy un usuario pesado de Cygwin.

Los dos tratan permissions de ejecución de manera diferente. Cuando foo.cmd compra de un file foo.cmd o foo.bat en el entorno MSYS, lo trata como ejecutable porque el sufijo .cmd o .bat denota un formatting ejecutable. Cygwin no lo hace; es un entorno tipo Unix, por lo que no supone que un file sea ejecutable en function de su sufijo. Así que los files *.cmd funcionaban bien para todos los demás, pero no para mí.

La solución consistía en hacer un chmod +x y registrar y presionar el cambio, lo que hacía que los files fueran ejecutables para mí y no afectara a otros usuarios.

También encontré algunos problemas para ingresar passwords al hacer push , pull o fetch ; el código en git que desactiva el eco funciona en MSYS, pero no en Cygwin. Pude evitar eso usando ssh sin contraseña.

Aparte de eso (y tal vez uno o dos otros problemas que no recuerdo en este momento), las cosas fueron bastante bien.

Git para cygwin y msysGit instala ejecutables completamente separados. El primero solo funciona dentro de cygwin; este último instala su propio shell bash (y herramientas GUI) pero también puede trabajar desde cmd.exe o PowerShell. Personalmente prefiero msysGit.

Ambos funcionarán en contra de los mismos repositorys de Git.

Si por algún desafortunado giro del destino, estás lidiando con un repository git donde algunos commits en su historia son, digamos, algunos conciertos en tamaño, entonces te quedarás sin memory con MSysGit, porque a partir de ahora, solo un 32 La versión de bit está disponible (hay una versión de 64 bits que está en Pre-apha, pero a partir de ahora, todavía falla algunas testings y, por lo tanto, no es adecuada para la producción). Solo en esta situación, una versión de 64 bits de Git se convierte en una necesidad.

ACTUALIZACIÓN: hay una manera por la cual todavía puedes usar Git de 64 bits sin utilizar la ruta de Cygwin:

  1. Instalar Vagrant
  2. Instalar VirtualBox
  3. Agregue este VagrantFile a una carpeta vacía
  4. Ajústalo a tus necesidades
  5. En el indicador de command cd a la nueva carpeta y
    1. Emita el command "vagrant". Toma un café mientras esto completa.
    2. A continuación, ejecute el command "vagrant ssh"

Ahora tiene instalada una máquina virtual Linux con git de 64 bits. A continuación, dentro de la máquina virtual:

  1. cd / vagrant
  2. git clone

Deje que se complete y tendrá una installation de 64 bits de Git controlando su repository en Windows.

Puede estar confundiendo la herramienta con repositorys git. msysgit y cygwin git proporcionan las herramientas, los repositorys pueden existir independientemente de tener git binaries alnetworkingedor.

1 – Sí. msysgit es una implementación de git que usa MSYS y tiene un performance mayor que Cygwin git. msysgit también tiene ejecutables de línea de command git.exe . msysgit no dependerá de otras cosas, y puede ejecutarlo desde el cmd normal.

El git de Cygwin tendrá dependencies en el sistema Cygwin, y es lento en comparación con msysgit.

Sin embargo, puedes tener ambos instalados, pero si no usas cygwin para nada más, no es necesario instalarlo solo para git. Estoy muy a favor de msysgit aquí.

2 – git es git, puedes usar msysgit o cygwin's git para los mismos repositorys, aunque ten cuidado con las discrepancias de versión (como si usas msysgit 1.7.8 y cygwin git 1.6). No creo que sea un gran problema, pero nunca he tenido múltiples versiones de Git instaladas.

editar:

3 – msysgit portable significa que puede llevar msysgit en algo así como una unidad flash.

Extra:

Es posible que desee darle una oportunidad a TortoiseGit . Es una GUI para git y te da menus contextuales para hacer cosas de git en el Explorador de Windows. Necesitas tener msysgit instalado antes de instalar TortoiseGit.

Por supuesto, NO instales cygwin's git. Es lento para la muerte . Estoy a punto de probar msysgit, esperando un mejor performance.