git mv în Git

Mută sau redenumește un fișier sau director urmărit de Git și pregătește acțiunea pentru commit.

Sintaxă comandă
git mv sursă destinație

Ce face git mv

Comanda git mv este echivalentul la trei pași executați automat: redenumirea fizică pe disc (mv vechi nou), ștergerea vechiului nume din index (git rm vechi) și adăugarea noului fișier în staging (git add nou).

Permite păstrarea istoricului de versiuni al fișierului chiar dacă acesta este mutat într-o nouă structură de directoare.

Opțiuni și argumente

Opțiune / Parametru Descriere
-f, --force Forțează redenumirea chiar dacă fișierul destinație există deja.
-k Sare peste mutările care ar produce erori.

Exemple

Exemplul 1: Redenumirea unui fișier cu păstrarea istoricului

Git recunoaște operațiunea ca o redenumire curată în staging.

git init -b main demo_mv >/dev/null
cd demo_mv
git config user.name "Test" && git config user.email "test@exemplu.ro"
echo "cod" > vechi.py
git add vechi.py && git commit -m "adaugat" >/dev/null
git mv vechi.py nou.py
git status -s

Rezultat

R  vechi.py -> nou.py

Greșeli frecvente

  • Redenumirea unui fișier doar prin schimbarea majusculelor pe sisteme de operare case-insensitive (cum ar fi Windows sau macOS implicit). Pentru a forța Git să înregistreze schimbarea se folosește un pas intermediar: git mv fisier temp && git mv temp FISIER.

Comenzi înrudite

  • git rm: Șterge fișiere din depozit și din directorul de lucru, pregătind ștergerea pentru commit.
  • git add: Adaugă modificările din directorul de lucru în zona de pregătire (staging area/index) pentru următorul commit.
  • git status: Afișează starea fișierelor: modificate, pregătite pentru commit (staged) sau neurmărite (untracked).