Ingénieur·e DevOps · Module 01 · Fondations
Les commits et le graphe d'historique
Leçon 1 sur 4
- 01Les commits et le graphe d'historique
- 02Branches et fusions
- 03Dépôts distants : clone, fetch, push, pull
- 04Pull requests et revue de code
La plupart des gens apprennent Git comme une liste de commandes à mémoriser. Construisons plutôt le modèle mental d'abord : une fois que vous comprenez ce qu'est un commit, chaque commande devient évidente.
Un commit est un instantané
Un commit n'est pas une liste de modifications. C'est un instantané complet de votre projet à un moment précis, accompagné de quelques métadonnées :
- un hash unique qui l'identifie, comme
a1f3c9e - l'auteur et la date
- un message qui explique pourquoi la modification a été faite
- un pointeur vers son parent — le commit juste avant lui
Ce dernier point est la clé. Comme chaque commit pointe vers son parent, les commits s'enchaînent les uns aux autres.
Vos premiers commits
Chaque commit passe par les deux mêmes étapes : indexer (stage) les modifications voulues, puis les valider (commit).
$ git initInitialized empty Git repository in /home/you/app/.git/$ git add README.md$ git commit -m "init"[main (root-commit) a1f3c9e] init 1 file changed, 3 insertions(+)L'index vous permet de choisir exactement ce qui entre dans un instantané, même si vous avez modifié plusieurs fichiers.
Lire le graphe d'historique
git log remonte la chaîne, du commit le plus récent jusqu'au premier :
$ git log --oneline --graph* d4a8b17 (HEAD -> main) fix typo* c93e0f2 add CI* b7c2d41 add README* a1f3c9e initDeux étiquettes comptent ici :
mainest une branche — simplement un nom mobile qui pointe vers un commit.HEADindique où vous êtes en ce moment. Il pointe généralement vers une branche.
Quand vous faites un commit, Git crée le nouvel instantané, lui donne le commit courant comme parent et avance la branche. C'est tout ce que fait un commit.
Dans la prochaine leçon, nous ajouterons une deuxième branche au graphe — et verrons ce qui se passe quand deux lignes d'historique se rejoignent.