¿Cómo configuro git para ignorar algunos archivos localmente?
¿Puedo ignorar archivos localmente sin contaminar la configuración global de git para todos los demás? Tengo archivos sin seguimiento que son spam en mi estado de git, pero no quiero realizar cambios en la configuración de git para cada pequeño archivo aleatorio sin seguimiento que tengo en mis sucursales locales.
De la documentación de Git relevante :
Los patrones que son específicos de un repositorio en particular pero que no necesitan compartirse con otros repositorios relacionados (por ejemplo, archivos auxiliares que se encuentran dentro del repositorio pero que son específicos del flujo de trabajo de un usuario) deben ir al archivo
$GIT_DIR/info/exclude
.
El .git/info/exclude
archivo tiene el mismo formato que cualquier .gitignore
archivo. Otra opción es establecer core.excludesFile
el nombre de un archivo que contenga patrones globales.
Tenga en cuenta que si ya tiene cambios no preparados, debe ejecutar lo siguiente después de editar sus patrones de ignorar:
git update-index --assume-unchanged <file-list>
Nota sobre$GIT_DIR
: Esta es una notación utilizada en todo el manual de git simplemente para indicar la ruta al repositorio de git. Si la variable de entorno está configurada, anulará la ubicación del repositorio en el que se encuentre, que probablemente no sea lo que desea.
Editar : Otra forma es usar:
git update-index --skip-worktree <file-list>
Invertirlo mediante:
git update-index --no-skip-worktree <file-list>
Actualización : considere usarlo git update-index --skip-worktree [<file>...]
en su lugar, ¡gracias @danShumway! Vea la explicación de Borealid sobre la diferencia de las dos opciones .
Antigua respuesta:
Si necesita ignorar los cambios locales en los archivos rastreados (lo tenemos con modificaciones locales en los archivos de configuración), use git update-index --assume-unchanged [<file>...]
.
Agregue las siguientes líneas a la sección [alias] de su archivo .gitconfig
ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
ignored = !git ls-files -v | grep "^[[:lower:]]"
Ahora puede utilizar git ignore my_file
para ignorar los cambios en el archivo local y git unignore my_file
dejar de ignorar los cambios. git ignored
enumera los archivos ignorados.
Esta respuesta se obtuvo de http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html .