Vérifier les différences entre les modifications préparées (staged) et non préparées
Dans cette étape, nous allons approfondir la différence entre les modifications préparées (staged) et non préparées en modifiant un fichier déjà suivi par Git.
Tout d'abord, assurez-vous que vous êtes dans le répertoire ~/project/my-time-machine
:
cd ~/project/my-time-machine
Maintenant, ajoutons une autre ligne à notre fichier notes.txt
. Nous pouvons utiliser la commande echo
avec >>
pour ajouter du texte à un fichier existant :
echo "Another idea" >> notes.txt
Cette commande ajoute la ligne "Another idea" à la fin de notes.txt
.
Vérifions à nouveau l'état de notre dépôt :
git status
Vous devriez voir une sortie similaire à celle-ci :
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: notes.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: notes.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
message.txt
Remarquez que notes.txt
apparaît maintenant dans deux sections :
- Changes to be committed : Cela fait référence à la version de
notes.txt
que nous avons ajoutée à la zone de préparation à l'étape précédente (qui ne contenait que "Ideas for the future").
- Changes not staged for commit : Cela fait référence aux modifications que nous venons d'apporter à
notes.txt
(l'ajout de "Another idea"). Ces modifications se trouvent dans notre répertoire de travail mais n'ont pas encore été ajoutées à la zone de préparation.
Ceci est un concept clé dans Git : la zone de préparation contient un instantané des modifications prêtes pour le prochain commit, tandis que le répertoire de travail contient l'état actuel de vos fichiers, y compris les modifications qui n'ont pas encore été préparées.
Pour voir la différence entre le répertoire de travail et la zone de préparation, vous pouvez utiliser la commande git diff
sans options :
git diff
Cela vous montrera les modifications qui ne sont pas préparées. Vous devriez voir une sortie montrant l'ajout de la ligne "Another idea".
Pour voir la différence entre la zone de préparation et le dernier commit (que nous avons vu à l'étape précédente), vous utilisez git diff --cached
.
Comprendre la différence entre les modifications préparées et non préparées, et savoir comment les afficher avec git status
et git diff
, est fondamental pour utiliser Git efficacement. Cela vous donne un contrôle précis sur ce qui est inclus dans chaque commit.