Il comando git rm in Git serve per istruire Git a rimuovere un file dal tracciamento; è, in pratica, il comando opposto e complementare a git add.
Ovviamente, in virtù del funzionamento di Git, sarà sempre possibile accedere alle varie versioni del file facendo checkout dei vari commit in cui quel file era ancora incluso tra quelli inclusi nel repository.
Così come accade per il comando git add, una volta istruito Git a rimuovere un file con git rm, sarà necessario eseguire git commit per salvare tale rimozione nella history. Per comodità, git rm si occupa anche di rimuovere il file dalla working directory.
L’utilizzo del comando è estremamente semplice: git rm [OPTIONS] <FILE…> dove FILE è un file, una directory o un elenco di file/directory. Alcune opzioni utili, a seconda degli intenti e casi pratici, sono:
- –-cached – mantiene il file nella working directory come untracked
- –recursive – in caso di directory, rimuove anche le eventuali sottodirectory
- –force – Git può effettuare git rm solo per file per i quali non ci siano modifiche (working o staged) rispetto all’ultimo commit; con –force viene saltato questo controllo
Nota aggiuntiva: poiché git rm opera sul contenuto della staging area, finché non si esegue il commit è sempre possibile annullare l’effetto di git rm tramite git reset o git checkou