Ignorar archivos en Git
En los proyectos a menudo hay archivos que no nos gustaría guardar en el sistema Git. Estos pueden ser archivos temporales generados por tu código, archivos de caché, así como archivos con contraseñas.
Podemos forzar a Git
a ignorar tales carpetas y archivos.
Esto se hace usando un archivo especial
.gitignore, ubicado
en la carpeta de tu proyecto.
En este archivo, en cada línea debemos escribir la ruta al archivo o carpeta que queremos ignorar. Veamos con ejemplos qué sintaxis es válida aquí.
Ejemplo
Una barra inclinada antes del nombre del archivo corresponde a un archivo en la raíz del repositorio:
/debug.log
Por ejemplo, se ignorarán los siguientes archivos:
- debug.log
Pero no:
- logs/debug.log
Ejemplo
Sin la barra inclinada al principio se ignorarán archivos tanto en subcarpetas como en la raíz:
debug.log
Por ejemplo, se ignorarán los siguientes archivos:
- debug.log
- logs/debug.log
Ejemplo
Sin la barra inclinada al final se ignorarán tanto archivos sin extensión como carpetas con ese nombre:
logs
Por ejemplo, se ignorarán los siguientes archivos:
- logs
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Ejemplo
Con la barra inclinada al final se ignorarán solo carpetas:
logs/
Por ejemplo, se ignorarán las siguientes carpetas:
- logs/
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Ejemplo
Dos asteriscos al principio de una carpeta harán que se ignoren todas las carpetas que contengan esa subcarpeta en la ruta:
**/logs
Por ejemplo, se ignorarán los siguientes archivos:
- logs/debug.log
- logs/monday/foo.bar
- build/logs/debug.log
Ejemplo
Dos asteriscos también se pueden usar para coincidir archivos basándose en su nombre y el nombre de la carpeta padre:
**/logs/debug.log
Por ejemplo, se ignorarán los siguientes archivos:
- logs/debug.log
- build/logs/debug.log
Pero no:
- logs/build/debug.log
Ejemplo
Un asterisco es un comodín que puede coincidir con varios caracteres o con ninguno:
*.log
Por ejemplo, se ignorarán los siguientes archivos:
- debug.log
- foo.log
- .log
- logs/debug.log
Ejemplo
Añadir un signo de exclamación al principio de un patrón deshace el efecto del patrón. Si un archivo coincide con un patrón, pero también coincide con un patrón de exclusión especificado después, dicho archivo no será ignorado:
*.log
!important.log
Por ejemplo, se ignorarán los siguientes archivos:
- important.log
Pero no:
- file.log
Ejemplo
El signo de interrogación coincide estrictamente con un solo carácter:
debug?.log
Por ejemplo, se ignorarán los siguientes archivos:
- debug0.log
- debugg.log
Pero no:
- debug10.log
Ejemplo
Los corchetes coinciden con un solo carácter del conjunto especificado:
debug[01].log
Por ejemplo, se ignorarán los siguientes archivos:
- debug0.log
- debug1.log
Pero no:
- debug2.log
- debug01.log
Ejemplo
Los corchetes también se pueden usar para especificar la coincidencia con un carácter de un rango dado:
debug[0-9].log
Por ejemplo, se ignorarán los siguientes archivos:
- debug0.log
- debug1.log
Pero no:
- debug10.log
Ejemplo
El signo de exclamación se puede usar para especificar la coincidencia con cualquier carácter, excepto los caracteres del conjunto especificado:
debug[!01].log
Por ejemplo, se ignorarán los siguientes archivos:
- debug2.log
Pero no:
- debug0.log
- debug1.log
- debug01.log
Ejemplo
Los rangos pueden ser numéricos o alfabéticos:
debug[a-z].log
Por ejemplo, se ignorarán los siguientes archivos:
- debuga.log
- debugb.log
Pero no:
- debug1.log
Ejemplo
Dos asteriscos coinciden con múltiples directorios o con ninguno:
logs/**/debug.log
Por ejemplo, se ignorarán los siguientes archivos:
- logs/debug.log
- logs/monday/debug.log
- logs/monday/pm/debug.log
Ejemplo
Los comodines se pueden usar también en nombres de directorios:
logs/*day/debug.log
Por ejemplo, se ignorarán los siguientes archivos:
- logs/monday/debug.log
- logs/tuesday/debug.log
Pero no:
- logs/latest/debug.log
Tareas prácticas
Configura para que se ignoren
archivos de la carpeta cache.
Configura para que se ignoren
archivos de las carpetas cache y tmp.
Configura para que se ignore
el archivo err.txt y la carpeta tmp.