Skip to content
Resolución de problemas5 min de lecturaVerificado Git 2.40+

Cómo ignorar archivos ya rastreados en Git

La solución definitiva a una de las dudas más frecuentes en Git: cómo excluir archivos ya confirmados sin perder tus configuraciones locales.

1. Por qué .gitignore solo ignora archivos no rastreados

Por diseño, el archivo .gitignore solo aplica reglas a los archivos no rastreados (untracked). Una vez que un archivo ha sido preparado (staged) y confirmado (committed) en el repositorio, Git lo vigila activamente en su índice.

Git nunca dejará de rastrear un archivo existente simplemente porque agregues su nombre a .gitignore. Para que la regla funcione, debes eliminarlo explícitamente del índice de Git manteniendo intacto el archivo físico en tu disco.

La regla de oro de .gitignore

.gitignore evita que se agreguen archivos nuevos por error; no deja de rastrear archivos que Git ya está vigilando.

2. Método 1: Dejar de rastrear un archivo individual

Usa el modificador --cached junto con git rm para quitar el archivo del índice sin borrar tu copia local:

bash
# 1. Asegúrate de incluir el patrón en tu .gitignore
echo ".env" >> .gitignore

# 2. Elimina el archivo únicamente del índice de Git
git rm --cached .env

# 3. Confirma el cambio
git commit -m "Stop tracking .env file"

3. Método 2: Dejar de rastrear una carpeta completa

Si se confirmó por error una carpeta entera como build/ o node_modules/, usa la opción recursiva -r junto con --cached:

bash
# 1. Agrega la carpeta a .gitignore
echo "build/" >> .gitignore

# 2. Elimina la carpeta del índice de forma recursiva
git rm -r --cached build/

# 3. Confirma la eliminación del índice
git commit -m "Stop tracking build/ output directory"

4. Método 3: Restablecer el índice de seguimiento del repositorio

Si se confirmaron muchos archivos antes de configurar el archivo .gitignore, lo más seguro es vaciar el índice y volver a agregarlo respetando las nuevas reglas:

bash
# 1. Asegúrate de tener tu trabajo limpio o guardado en stash
git status

# 2. Elimina todos los archivos del índice de Git
git rm -r --cached .

# 3. Vuelve a agregar respetando .gitignore
git add .

# 4. Confirma la actualización del índice
git commit -m "Refresh repository tracking to match .gitignore"

5. Seguridad y comportamiento en equipo

Importante: Seguridad local vs git pull de otros desarrolladores

Ejecutar git rm --cached no toca tu archivo físico local. Sin embargo, al subir este commit a la rama compartida, los compañeros que ejecuten git pull verán que el archivo fue eliminado del repositorio y Git lo borrará de sus discos locales a menos que hagan una copia de respaldo antes.

Avisa a tu equipo antes de subir cambios que dejen de rastrear archivos de configuración y proporciona una plantilla como .env.example.

Preguntas frecuentes

Respuestas a dudas comunes de desarrolladores sobre reglas de .gitignore, caché y gestión del repositorio.

¿Por qué Git sigue rastreando mi archivo después de añadirlo a .gitignore?

.gitignore solo afecta a archivos no rastreados. Si el archivo ya estaba confirmado, Git lo seguirá vigilando hasta que ejecutes 'git rm --cached <archivo>'.

¿git rm --cached borra mi archivo del disco?

No. La opción --cached solo elimina el archivo del índice de Git (área de preparación). Tu archivo físico permanece intacto en tu disco local.

¿Qué ocurre cuando otros desarrolladores hacen git pull de este commit?

Como el archivo se registra como eliminado del repositorio, git pull lo borrará de las computadoras de tus compañeros. Comparte siempre un archivo .env.example para que puedan recrearlo.

← Leer guíasAbrir en el generador completo