Conceptos clave

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

  1. Raíz del repositorio: El archivo .gitignore debe colocarse en el directorio raíz de tu repositorio. Así Git aplica las reglas de ignorado a todos los archivos y directorios del repositorio.

  2. Subdirectorios: También puedes crear archivos .gitignore en 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.excludesFile

Ejemplo

Archivo: .gitignore
# 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