2009/07/08

Ignorando ficheros con GIT

A veces dentro de un proyecto se generan ciertos archivos que no se desean tener en el repositorio de versiones. En mi caso, a veces tengo ficheros de configuración propios con rutas a carpetas de mi máquina o con cosas raras que tampoco quiero que sean subidas.

En git es fácil poder indicar que no se incluyan estos ficheros creando un fichero .gitignore en la raíz del proyecto. Más detalles en:
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#ignoring-files

Esto funcionaría si los ficheros no han sido ya agregados con git add. Si este es el caso quedan 2 opciones:
  1. Hacer commits selectivos de ficheros y carpetas concretos ignorando estos ficheros
  2. Usar el comando git-update-index --assume-unchanged

** Ampliación **
Para analizar más en profundidad el contenido del index y el estado de los ficheros es útil (además de git status) el comando:
 git ls-files -v
Con este comando se listan los ficheros en el índice indicando su estado con las letras al principio de la línea:

H cached
M unmerged
R removed/deleted
C modified/changed
K to be killed
? other

En caso de que las letras sean en minúscula indica que se encuentran con el bit activo de "assume-unchanged".