Renommer des fichiers
Dans le précédent atelier pratique, nous avons vu la suppression de fichiers à
l'aide de la commande git rm. Aujourd'hui nous allons aborder le renommage de
fichiers, qui obéit aux mêmes principes de base que la suppression.
Déplacer et renommer
Sous Unix et sous Linux, la commande mv sert à déplacer aussi bien qu'à
renommer des fichiers.
Renommer un fichier avec Git
Continuez allègrement à vous servir des fichiers de l'atelier pratique
atelier-18. Effectuez une nouvelle copie de ce dépôt Git pour vous entraîner
dessus :
Rappelez-vous ce qu'il contient :
À ce stade, je me rends compte que j'ai peut-être mal nommé mon fichier
Entretien.md. Réflexion faite, je me demande si je ne vais pas plutôt
l'appeler Maintenance.md :
Voyons l'effet de cette opération sur mon dépôt :
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: Entretien.md -> Maintenance.md
Ici, j'ai le choix :
-
Soit je valide le renommage du fichier
Entretien.mdenMaintenance.mdavec un message approprié. -
Soit j'annule l'opération de renommage à coups de
git restore.
Je décide de valider le renommage :
$ git commit -m "Renommage du fichier."
[master 748c744] Renommage du fichier.
1 file changed, 0 insertions(+), 0 deletions(-)
rename Entretien.md => Maintenance.md (100%)
Vous me suivez ?
Tout comme la commande git rm, la commande git mv gère uniquement les
fichiers suivis. Si jamais je crée un fichier dans mon répertoire de
travail et que je décide de le renommer avant même de l'ajouter à l'index,
j'utiliserai la simple commande Linux mv pour cette opération.
Maintenant, que se passe-t-il si j'utilise la simple commande mv au lieu de
git mv pour renommer un fichier suivi par Git ? Admettons que je me
ravise et que je me dise que réflexion faite, Entretien.md c'était quand-même
mieux. Mais dans l'effervescence de l'indécision, je vais un peu trop vite et
j'utilise mv au lieu de git mv :
J'affiche l'état de mon dépôt, et je m'aperçois que c'est un peu la pagaille :
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: Maintenance.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
Entretien.md
no changes added to commit (use "git add" and/or "git commit -a")
Git m'annonce deux choses ici :
-
Le fichier
Maintenance.mda été supprimé. -
Un nouveau fichier non suivi
Entretien.mda fait son apparition dans le répertoire de travail.
Est-ce que je pourrais éventuellement rectifier le tir avec un coup de git add
--update comme je l'avais fait lorsque j'ai utilisé rm au lieu de git
rm ? Essayons :
$ git add --update
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: Maintenance.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
Entretien.md
J'ai un succès partiel dans la mesure où la « disparition » du
fichier Maintenance.md est bien prise en compte par l'index. En revanche, je
me retrouve toujours avec un fichier Entretien.md qui n'est pas suivi par
Git. Je l'ajoute donc explicitement à l'index :
$ git add Entretien.md
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: Maintenance.md -> Entretien.md
Ça y est ! Cette fois-ci l'index m'annonce bien une opération de
renommage. Mais il m'a fallu sauter à travers des cerceaux en feu pour en
arriver là, et j'en conclus qu'il vaut mieux utiliser git mv d'emblée pour
une opération de renommage ou de déplacement.
Il ne me reste plus qu'à valider l'opération :
$ git commit -m "Finalement le nom initial était OK"
[master 675c172] Finalement le nom initial était OK
1 file changed, 0 insertions(+), 0 deletions(-)
rename Maintenance.md => Entretien.md (100%)
À vous de jouer !
-
Effectuez une copie du dépôt Git
atelier-18et nommez-laatelier-24. -
Inspectez sommairement le contenu, l'état et l'historique du dépôt.
-
Renommez le fichier
Roadtrip.mdenVoyage.mdet validez cette opération avec un message approprié. -
Renommez le fichier
Cartes.mdenCartes-Michelin.mden utilisantmvau lieu degit mv. -
Inspectez l'état de votre dépôt et faites le nécessaire pour que le renommage soit pris en compte dans l'index.
-
Validez le renommage avec un message approprié.
La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce site ? Offrez un café au rédacteur en cliquant sur la tasse.

