Tras más de dos años después de dejar atrás el Subversion y con ya una cierta experiencia con el uso de Git principalmente bajo Windows creo que puedo dar algunos consejos que he encontrado tras pelearme con algunos problemas.

Inicialmente he estado utilizado Git por linea de comandos desde un entorn Cygwin. Sin embargo la integración de cygwin, git y Windows no es todo lo fina que sería deseable. Finalmente he encontrado una manera de trabajar con Git bajo Windows sin cygwin que se adapta perfectamente a mis requerimientos y resuelve todos los problemas que me he ido encontrado con codificaciones de ficheros, permisos, etc.

Utilizar Git para Windows y no Git bajo Cygwin.

Al instalar seguir la configuración. En general las opciones por defecto son las más seguras. Sólo comento una excepción con los saltos de linea. Tras varias pruebas la configuración final de saltos de linea que tengo es la resultante de fijar estos dos parámetros de configuración:

git config --global core.autocrlf false
git config --global core.whitespace cr-at-eol

Como herramienta para gestionar conflictos (aunque esto es opcional y simplemente se pueden resolver manualmente) es muy recomendable utilizar p4merge. Ojo que el instalador de p4merge es común a otras herramientas. Sólo es necesario instalar el p4merge.

Las versiones modernas de git ya vienen con la opción para integrar p4merge. Recomiendo esta configuración:

git config --global merge.tool p4merge
git config --global mergetool.keepBackup false

Depende del momento y orden en el que instalemos git y p4merge y de como queden las rutas de sistema quizás tengamos que indicar a git donde está el binario.

git config --global mergetool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'

En caso de problemas de permisos de ficheros el git de windows no los puede cambiar. Si se quieren ignorar (habitual):

Algunos enlaces interesantes:

  • http://stackoverflow.com/questions/866262/p4merge-error-git/867165#867165
  • http://gitolite.com/gitolite/putty.html