Guía del generador .gitignore: crear reglas de ignorar rápidamente por tipo de proyecto
¿Qué es .gitignore?
El archivo .gitignore indica a Git qué archivos/directorios no deben ser controlados por versiones:
node_modules/ ← Ignorar todo el directorio
*.log ← Ignorar todos los archivos de registro
.env ← Ignorar archivo de variables de entorno
dist/ ← Ignorar salida de compilación
Los archivos no rastreados que coinciden con las reglas de .gitignore son omitidos automáticamente por Git. Los archivos ya rastreados no se ven afectados.
Reglas de sintaxis explicadas
Patrones básicos
| Sintaxis | Significado | Ejemplo |
|---|---|---|
*.ext |
Coincidir todos los archivos .ext | *.log |
dir/ |
Coincidir todo el directorio | node_modules/ |
file |
Coincidir archivo específico | .env |
** |
Coincidir cualquier nivel de directorio | **/test |
? |
Coincidir un solo carácter | config?.json |
[abc] |
Coincidir cualquier carácter entre corchetes | file[123].txt |
Patrón de negación !
*.log ← Ignorar todos los registros
!important.log ← Pero mantener important.log
Los patrones de negación deben colocarse después de la regla de ignorar que niegan.
Reglas de ruta
/README.md ← Ignorar solo README.md en la raíz
README.md ← Ignorar README.md en cualquier nivel
docs/*.pdf ← Ignorar PDFs en docs/, no recursivo
docs/**/*.pdf ← Ignorar PDFs en todos los subdirectorios de docs/
Plantillas comunes de proyectos
Node.js
node_modules/
dist/
build/
.next/
.env
.env.local
*.log
coverage/
Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
.venv/
venv/
.env
.pytest_cache/
.mypy_cache/
Java / Spring Boot
target/
*.class
*.jar
*.war
.gradle/
.idea/
*.iml
application-local.yml
IDE / Editores
# VS Code
.vscode/
# IntelliJ IDEA
.idea/
*.iml
# macOS
.DS_Store
# Windows
Thumbs.db
Uso de la herramienta gitignore
Paso 1: Abrir la herramienta
Visita la herramienta gitignore para acceder a la interfaz del generador.
Paso 2: Seleccionar tipo de proyecto
Marca las tecnologías usadas en tu proyecto:
- ☑ Node.js
- ☑ Python
- ☑ Java
- ☑ Vue / React / Angular
Paso 3: Seleccionar IDE
Marca los editores usados por tu equipo:
- ☑ VS Code
- ☑ IntelliJ IDEA
- ☑ Otro
Paso 4: Generar y descargar
Haz clic en "Generar". La herramienta fusiona automáticamente todas las plantillas, elimina duplicados y produce un archivo .gitignore completo.
Paso 5: Colocar en la raíz del proyecto
Coloca el archivo descargado en la raíz de tu repositorio Git. Asegúrate de que el nombre sea .gitignore (nota el punto inicial).
gitignore global
Además del .gitignore a nivel de proyecto, puedes configurar reglas de ignorar globales (aplica a todos los repos):
# Configurar archivo gitignore global
git config --global core.excludesFile ~/.gitignore_global
# Editar reglas globales
vim ~/.gitignore_global
Ignorados globales recomendados:
# Archivos del sistema
.DS_Store
Thumbs.db
# Configuraciones de IDE
.idea/
.vscode/
# Herramientas personales
.todo
Las reglas globales son para archivos del entorno personal. Las reglas a nivel de proyecto son para archivos específicos del proyecto.
Manejo de archivos ya rastreados
.gitignore solo afecta archivos no rastreados. Si un archivo ya está rastreado por Git:
# Dejar de rastrear pero mantener el archivo local
git rm --cached .env
# Dejar de rastrear todo un directorio
git rm -r --cached node_modules/
# Confirmar el cambio de dejar de rastrear
git commit -m "chore: update gitignore and untrack files"
La bandera
--cachedasegura la eliminación solo del índice de Git, sin borrar el archivo local.
Errores comunes
| Error | Causa | Solución |
|---|---|---|
| Regla no funciona | Archivo ya rastreado | Ejecutar git rm --cached primero |
| Negación no funciona | ! colocado antes de la regla de ignorar |
Mover la regla ! después de la regla de ignorar correspondiente |
| Demasiado ignorado | Patrón demasiado amplio | Usar / para limitar el alcance de la ruta |
| Olvidó ignorar .env | Falta plantilla de variables de entorno | Siempre añadir .env a .gitignore |
| Reglas del equipo inconsistentes | Sin plantilla unificada | Usar la herramienta para generar una plantilla estándar |
.gitignore y .gitkeep
Después de ignorar un directorio, Git no rastreará directorios vacíos. Para preservar la estructura de directorios vacíos:
logs/ ← .gitignore ignora logs
logs/.gitkeep ← .gitkeep como marcador, preserva el directorio
.gitkeepno es una función de Git — es una convención de la comunidad. Coloca un archivo.gitkeepen el directorio vacío.
Resumen
.gitignore es fundamental para la configuración de proyectos. Las reglas de ignorar correctas previenen la confirmación de información sensible y archivos redundantes. Domina la sintaxis, las plantillas comunes y la configuración global, y usa la herramienta gitignore para una generación rápida — es el primer paso para un control de versiones efectivo.