🎧 Escuchar esta guía
La solución para archivos ya trackeados
# añadiste .env a .gitignore, pero git todavía lo trackea
# porque se confirmó ANTES de que existiera la regla.
git rm --cached .env # deja de trackearlo (¡conserva el archivo local!)
git commit -m "Stop tracking .env"
# versión para una carpeta entera:
git rm -r --cached node_modules/
git commit -m "Stop tracking node_modules"
Comprueba POR QUÉ se ignora un archivo (o por qué no)
git check-ignore -v .env
# .gitignore:2:.env .env ← archivo, línea y regla responsables
# sin salida = nada lo ignora (o ya está trackeado)
git status --ignored # muestra todo lo que se está ignorando
Sintaxis de patrones: los seis que necesitas
*.log # todos los archivos .log, estén donde estén
build/ # la carpeta "build" (/ al final = solo carpetas)
/config.json # SOLO en la raíz del repo (/ al principio = ancla)
docs/*.pdf # pdf dentro de docs/, pero no en subcarpetas
docs/**/*.pdf # pdf en cualquier nivel dentro de docs/
!keep.log # excepción: trackearlo aunque antes figure *.log
La trampa de las excepciones
!important.txt no puede rescatar un archivo dentro de una carpeta ignorada. Si ignoras logs/, Git ni siquiera mira dentro, así que !logs/keep.txt no hace nada. La salida consiste en dejar de ignorar la carpeta, volver a ignorar su contenido y después exceptuar el archivo: !logs/ + logs/* + !logs/keep.txt.
Plantillas para empezar
# Python
__pycache__/
*.pyc
.venv/
venv/
.env
dist/
*.egg-info/
# Node
node_modules/
dist/
build/
.env
.env.*
npm-debug.log*
# añadidos universales (para cualquier proyecto)
.DS_Store # basura de macOS
Thumbs.db # basura de Windows
*.swp # basura de vim
.idea/ .vscode/ # config del editor (depende de las normas del equipo)
Encontrarás plantillas completas para cualquier stack en github.com/github/gitignore: son oficiales, se mantienen al día y puedes copiarlas sin problema.
Si el archivo trackeado contenía un SECRETO
git rm --cached deja de trackearlo de ahora en adelante, pero el secreto sigue en el historial, y los rastreadores de repositorios públicos encuentran claves en cuestión de minutos. Sigue este orden: 1) revoca o rota la clave ahora mismo desde el proveedor; 2) después limpia el historial con git filter-repo si merece la pena. Rotar la clave es la solución; operar el historial es higiene. Tienes el proceso completo en la página principal de Git, sección 08.
📚 Esta página forma parte de nuestra serie sobre Git. El modelo mental completo —los tres árboles y las ramas como post-its—, con audio: Git en 10 minutos →