Déplacer des fichiers

10 min Niveau 4

Contrairement à d'autres systèmes de contrôle de version (VCS), Git ne suit pas explicitement les mouvements de fichiers. Lorsque vous renommez un fichier suivi par Git, aucune métadonnée indiquant le renommage n'est stockée par Git. Cependant, Git est suffisamment intelligent pour détecter ces renommages a posteriori.

Par conséquent, le fait que Git dispose d'une commande mv peut sembler trompeur. Si vous souhaitez renommer un fichier dans Git, vous pouvez simplement exécuter une commande telle que :

$ git mv nom_origine nom_cible

Et cela fonctionne. En fait, si vous exécutez une commande comme celle-ci et que vous examinez le résultat de git status, vous constaterez que Git gère le renommage de fichier :

$ git mv LISEZMOI.txt LISEZMOI
$ git status
Sur la branche master
Votre branche est à jour avec 'origin/master'.
Modifications qui seront validées :
  (utilisez "git reset HEAD <fichier>..." pour désindexer)

        renommé :         LISEZMOI.txt -> LISEZMOI

Cependant, cela équivaut à exécuter les commandes suivantes :

$ mv LISEZMOI.txt LISEZMOI
$ git rm LISEZMOI.txt
$ git add LISEZMOI

Git déduit implicitement qu'il s'agit d'un renommage, il n'a donc pas d'importance si vous renommez un fichier de cette manière ou en utilisant la commande mv. La seule différence réelle est que git mv est une commande unique à saisir au lieu de trois, ce qui en fait une commande plus pratique. L'essentiel est que vous pouvez utiliser n'importe quel outil pour renommer un fichier, puis gérer les commandes add et rm ultérieurement, avant de valider les modifications.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus