git rm
git
Uso
git rm [--cached] [-r] <pathspec>Quita un archivo del índice y del disco; --cached lo conserva y solo deja de rastrearlo, pero el contenido antiguo permanece en la historia, así que un secreto filtrado sigue ahí.
Opciones habituales
| Opción | Significado |
|---|---|
| --cached | stop tracking but leave the file on disk |
| -r | recurse into directories |
| -f | remove even when the file has unstaged changes |
| -n | dry run |
| --ignore-unmatch | exit 0 even if nothing matched |
Ejemplos
git rm --cached .envstops tracking a secret file while keeping it locally
git rm -r build/deletes the folder from the repository and from disk
git rm -n "*.log"shows what would be removed
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git rm?
Quita un archivo del índice y del disco; --cached lo conserva y solo deja de rastrearlo, pero el contenido antiguo permanece en la historia, así que un secreto filtrado sigue ahí.
Q. ¿Cómo se escribe?
git rm [--cached] [-r] <pathspec> — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 5; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-rm