git rm în Git

Șterge fișiere din depozit și din directorul de lucru, pregătind ștergerea pentru commit.

Sintaxă comandă
git rm [opțiuni] fișiere...

Ce face git rm

Comanda git rm informează Git că un fișier trebuie eliminat din urmărire și îl șterge de pe disc, trecând ștergerea direct în zona de staging.

Opțiunea --cached este salvatoare când ai adăugat din greșeală un fișier în Git (cum ar fi un fișier .env cu parole): elimină fișierul din depozit, dar îl păstrează fizic neatins pe discul tău local.

Opțiuni și argumente

Opțiune / Parametru Descriere
--cached Șterge fișierul doar din depozitul Git (index), lăsându-l intact pe discul local.
-r Ștergere recursivă a directoarelor și a conținutului lor.
-f, --force Forțează ștergerea chiar dacă fișierul are modificări nesalvate.

Exemple

Exemplul 1: Scoaterea unui fișier din Git fără a-l șterge de pe disc

Folosim opțiunea –cached pentru a opri urmărirea unui fișier de configurare.

git init -b main demo_rm >/dev/null
cd demo_rm
git config user.name "Test" && git config user.email "test@exemplu.ro"
echo "SECRET=123" > secret.env
git add secret.env && git commit -m "init" >/dev/null
git rm --cached secret.env >/dev/null
git status -s
ls secret.env

Rezultat

D  secret.env
?? secret.env
secret.env

Greșeli frecvente

  • Ștergerea manuală a fișierului cu rm fisier fără a rula git add fisier sau git rm fisier: Git va marca fișierul ca ‘deleted’, dar ștergerea nu ajunge în staging automat.

Comenzi înrudite

  • git mv: Mută sau redenumește un fișier sau director urmărit de Git și pregătește acțiunea pentru commit.
  • git restore: Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.
  • .gitignore: Fișier de configurare care specifică fișierele și directoarele ignorate intenționat de Git.