Si al principio configuraste mal .gitignore
y hay archivos que ya están siendo rastreados por git (por ejemplo, archivos de caché, configuraciones, etc.), incluso si modificas posteriormente .gitignore, los archivos ya rastreados no se ignorarán automáticamente.
Puedes solucionarlo siguiendo el procedimiento a continuación.
1. Añade los archivos (o directorios) que deseas ignorar a .gitignore
Ejemplo:
# .gitignore
*.log
__pycache__/
.env
2. Deshacer el seguimiento de archivos que ya están siendo rastreados (untrack)
Por ejemplo, si quieres que git ignore el archivo .env
que ya ha sido enviado en un commit,
ejecuta el siguiente comando.
git rm --cached .env
-
La opción
--cached
sirve para mantener el archivo local, pero deshacer el seguimiento por parte de git. -
Si es una carpeta (por ejemplo,
__pycache__/
), hazlo así:bash git rm -r --cached __pycache__/
3. Hacer commit de los cambios
git add .gitignore
git commit -m "Actualizar .gitignore y eliminar archivos no deseados rastreados"
De esta forma, a partir de ahora, los archivos/carpetas correspondientes serán ignorados por git.
¿Quieres untrackear varios archivos a la vez?
Para untrackear todos los archivos que has añadido a .gitignore
de una sola vez, puedes hacerlo así:
git rm -r --cached .
git add .
git commit -m "Aplicar .gitignore a archivos existentes"
- Este método reasignará todos los archivos, así que ten cuidado al usarlo. (¡Revisa bien los cambios para no desordenar el historial de commits!)
Consejos/Notas
-
¡Puedes verificar si el estado untracked se aplicó correctamente con
git status
! -
Para eliminar completamente archivos sensibles que ya han sido subidos al remote (por ejemplo, GitHub), necesitarás herramientas adicionales como git filter-branch o BFG Repo-Cleaner.
Espero que esto haya ayudado a quienes se han encontrado en problemas debido a archivos rastreados por error.
¡Hoy, da un paso más hacia un historial de Git limpio!
No hay comentarios.