Inicio·Comandos de terminal

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ónSignificado
--cachedstop tracking but leave the file on disk
-rrecurse into directories
-fremove even when the file has unstaged changes
-ndry run
--ignore-unmatchexit 0 even if nothing matched

Ejemplos

git rm --cached .env

stops 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