Tester les commits non de fusion
Dans cette étape, nous allons créer un commit classique (un commit non de fusion) puis utiliser git log
pour voir comment il apparaît dans notre historique par rapport à un commit de fusion (que nous n'avons pas encore, mais aurons dans des labs ultérieurs). Cela vous aidera à mieux comprendre les différents types de commits.
Tout d'abord, apportons une petite modification à notre fichier message.txt
. Nous allons ajouter une autre ligne.
Assurez-vous d'être dans le répertoire ~/project/my-time-machine
:
cd ~/project/my-time-machine
Maintenant, utilisez la commande echo
pour ajouter une nouvelle ligne au fichier :
echo "Adding another line." >> message.txt
L'opérateur >>
ajoute le texte au fichier au lieu de le remplacer.
Vérifions le contenu du fichier :
cat message.txt
Vous devriez voir :
Hello, Future Me
Adding another line.
Maintenant, vérifions l'état de notre dépôt :
git status
Vous devriez voir que message.txt
a été modifié :
On branch master
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: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git a détecté la modification que nous avons apportée. Maintenant, préparons (stage) et validons (commit) cette modification.
git add message.txt
git commit -m "Add a second line to message"
Vous devriez voir une sortie confirmant le commit :
[master a1b2c3d] Add a second line to message
1 file changed, 1 insertion(+)
Maintenant, regardons à nouveau notre historique de commits en utilisant git log --oneline
:
git log --oneline
Vous devriez voir deux commits :
e4f5g6h (HEAD -> master) Add a second line to message
a1b2c3d Send a message to the future
Le dernier commit (e4f5g6h
dans cet exemple, votre hachage sera différent) est notre nouveau commit non de fusion. Il représente une seule modification apportée directement sur la branche master
.
Si nous devions exécuter à nouveau git log --merges
, il n'afficherait toujours aucun résultat car aucun de ces commits n'est un commit de fusion.
Comprendre la différence entre les commits classiques et les commits de fusion est important pour interpréter l'historique de votre projet et collaborer efficacement avec les autres. Les commits classiques représentent une progression linéaire sur une seule ligne de développement, tandis que les commits de fusion représentent l'intégration de modifications provenant de différentes lignes.