Evita que Git registre archivos innecesarios en nuestros repositorios con el archivo .gitignore.
No siempre queremos que todos los archivos añadidos al repositorio se incluyan en el historial de Git. Archivos temporales, logs, configuraciones locales o dependencias descargadas automáticamente son buenos ejemplos de lo que deberíamos mantener fuera del control de versiones.
Para eso sirve .gitignore
: un archivo de texto que le indica a Git qué rutas debe ignorar al preparar los cambios.
.gitignore
El archivo puede ubicarse en la raíz (root) del proyecto (o en cualquier subdirectorio si se necesita un alcance más acotado). Contiene una lista de patrones, uno por línea. Por ejemplo:
# Ignorar la carpeta node_modules (habitual en proyectos Node.js)node_modules/
# Ignorar todos los archivos .log*.log
# Ignorar archivos de configuración del sistema.DS_StoreThumbs.db
# Ignorar archivos de entorno local.env
Los comentarios se indican con #
y los patrones pueden usar comodines:
*
equivale a cualquier número de caracteres.**
representa directorios anidados.?
equivale a un solo carácter.# Ignorar todas las carpetas dist en cualquier parte del proyecto**/dist/
# Ignorar todos los archivos que empiecen por 'temp' y acaben en '.txt'temp*.txt
El archivo .gitignore
solo afecta a los archivos que todavía no están bajo control de versiones. Si ya se han añadido y confirmado, ignorarlos no tendrá efecto hasta que los eliminemos del repositorio.
Por ejemplo:
git rm --cached archivo.log
Este comando elimina el archivo del historial, pero lo deja intacto en el sistema de archivos local.
Es buena práctica incluir el archivo .gitignore
desde el inicio del proyecto y mantenerlo actualizado según evolucionan las herramientas y entornos. También conviene utilizar plantillas según el tipo de proyecto; GitHub, por ejemplo, mantiene una colección de .gitignore
para diferentes lenguajes y entornos.
Para proyectos en Node.js, por ejemplo:
node_modules/npm-debug.log.envdist/coverage/
En un proyecto de Python:
__pycache__/*.py[cod].env.venv/
Si usamos Visual Studio Code, añadir esta línea evita subir la configuración local del editor:
.vscode/
Gestionar bien el archivo .gitignore
nos permite mantener nuestros repositorios limpios, evitando subir archivos innecesarios que no aportan valor al proyecto o que pueden generar conflictos. Es una herramienta sencilla pero importante para trabajar con repositorios ordenados y evitar errores innecesarios, especialmente cuando compartimos código con otras personas.