Archivo .gitignore
En Git, un archivo .gitignore es un archivo de texto que indica a Git qué archivos y directorios debe ignorar al hacer seguimiento de los cambios en un repositorio. Puedes usar un archivo .gitignore para excluir archivos generados durante el proceso de build, archivos con información sensible o archivos que no son relevantes para el proyecto.
Dónde colocar el archivo
-
Raíz del repositorio: El archivo
.gitignoredebe colocarse en el directorio raíz de tu repositorio. Así Git aplica las reglas de ignorado a todos los archivos y directorios del repositorio. -
Subdirectorios: También puedes crear archivos
.gitignoreen subdirectorios para indicar reglas de ignorado que solo se aplican a los archivos de ese directorio y sus subdirectorios.
Archivo global de ignorados
Además del archivo de ignorados de tu proyecto, Git también usa un archivo global de ignorados que se aplica a todos los repositorios de tu sistema. La ruta del archivo global de ignorados se guarda en la variable de configuración core.excludesFile.
Averigua la ubicación del archivo global de ignorados:
git config --global core.excludesFileEjemplo
# Añade comentarios para mayor claridad. Los comentarios empiezan con una almohadilla (#).
# ¡Esto es un comentario!
# Ignora archivos con nombres concretos.
Thumbs.db
.DS_Store
# Ignora archivos con extensiones concretas. El * es un comodín que coincide
# con cualquier secuencia de caracteres.
*.log
*.tmp
*.bak
# Ignora directorios. La barra final no es obligatoria, pero indica con más
# claridad al lector que se trata de un directorio.
logs
temp/
# Ignora archivos con un nombre concreto en cualquier directorio.
# El patrón ** coincide con cualquier directorio, incluidos subdirectorios.
**/build/
# Ignora archivos con un nombre concreto en un directorio concreto.
docs/*.pdf
# Ignora todos los archivos de un directorio excepto un archivo concreto.
# El prefijo ! niega el patrón, así que el archivo no se ignora.
config/*
!config/main.conf
# Incluye un archivo ignorado previamente usando el prefijo !.
!important.log.gitignoregit checkoutgit configgit taggit worktree