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).