21/04/2021

0. Révisions

Lu 91 fois Licence Creative Commons

Révisions

De manière générale, une révision est une expression permettant de faire référence à un commit. Il peut s'agir tout simplement du hash (court ou long) d'un commit:

git show bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...
git show fff3c3f
[output]commit fff3c3fc65731a812438eb85713ef7dc5a2899b7 (HEAD -> master)
[output]...

Mais on peut utiliser d'autres expressions.

La tête: référencer le dernier commit

Les mots-clés HEAD ou @ référencent le dernier commit:

git show HEAD
[output]commit fff3c3fc65731a812438eb85713ef7dc5a2899b7 (HEAD -> master)
[output]...

Imaginons l'historique suivant:

hash heure message
fff3c3f HEAD 14:20 Ajoute une feuille de triche
bbd7c93 14:18 Ajoute une documentation sur le staging
d91d190 14:16 Ajoute la documentation des commits
ae388b9 14:12 Commit initial

Référencer un commit parent

Se basant sur une révision particulière, on peut référencer le ne commit précédent (un parent):

git show @{1}
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...
git show HEAD~
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...
git show HEAD~1
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...
git show HEAD^
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...

Description: Référencer le commit précédent la tête (bbd7c93).
Note: la syntaxe ^ référence le commit parent (précédent).


git show bbd7c93~2
[output]commit d91d190ef3e103babee7d2042051be2ce0dd6e30
[output]...
git show bbd7c93^^
[output]commit d91d190ef3e103babee7d2042051be2ce0dd6e30
[output]...

Description: Référencer le 2e commit précédent bbd7c93 (le commit initial ae388b9).


Référencer une série de commits:

Pour afficher une série de commits consécutifs, il existe plusieurs syntaxe, dont la notation rev1..rev2:

git show ae388b9..bbd7c93
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...
[output]commit d91d190ef3e103babee7d2042051be2ce0dd6e30
[output]...

Description: Référencer les commits jusqu'à rev2 (le plus récent: bbd7c93) mais exclure rev1 (le plus ancien: ae388b9) et ses ancètres.

On peut également indiquer une série "depuis" rev1, etc:

git show ae388b9..
[output]commit c0e7ea21963919be1139644a2cb9b1b402b83dd4
[output]...
[output]commit bbd7c93c62af8b640bc0fe64588e72785d0271e3
[output]...