Afficher l'historique des validations pour une branche à l'aide de Git Log With Range
-
Historique de validation Git pour la branche à l’aide de
git loget des options de limitation avancées -
Historique de validation Git pour la branche utilisant la syntaxe à double point
<branch1>..<branch2> -
Raccourci utile avec
git logpour taper quelques caractères de moins pour afficher l’historique de validation Git pour la branche -
Option utile pour voir uniquement les derniers commits avec
logpour Git Afficher les commits sur la branche actuelle uniquement -
Historique de validation Git pour la branche avec l’opérateur Caret
^ -
Historique de validation Git pour la branche avec l’option
--not - Ressources
Le git log a de nombreuses options de limitation pour obtenir un sous-ensemble de commits à partir de l’historique de votre référentiel. Nous montrons comment git log avec range en utilisant la syntaxe à deux points, l’opérateur caret ^, l’option --not et plusieurs raccourcis nous aident à afficher l’historique git commit pour la branche uniquement.
Git tire sa puissance de ce système de requête de révision riche qui permet aux utilisateurs de gérer leurs branches et de concevoir avec elles des flux de travail efficaces.
Historique de validation Git pour la branche à l’aide de git log et des options de limitation avancées
Les référentiels Git peuvent devenir volumineux avec de longs historiques de validation. L’affichage de l’historique complet n’est pas très utile dans de tels cas.
La commande git log nous fournit de nombreuses options utiles pour extraire uniquement le sous-ensemble de commits de l’historique du référentiel dont nous avons besoin.
git log [formatting options] [limiting options]
Les [formatting options] nous permettent d’afficher différentes informations sur nos commits, tandis que les [limiting options] nous aident à sélectionner les commits que nous voulons voir.
Lorsque nous fournissons les bonnes valeurs de plage dans ces options de limitation, nous pouvons git show commits sur la branche actuelle.
Historique de validation Git pour la branche utilisant la syntaxe à double point <branch1>..<branch2>
La syntaxe à double point montre les commits auxquels nous pouvons accéder depuis branch2 mais pas branch1.
Supposons que nous créons un nouveau experiment_branch à partir de master. Ensuite, nous nous engageons dans ces deux branches mais ne fusionnons pas encore.
Si nous faisons maintenant un git log nu sur experiment_branch, il affiche l’historique complet, y compris les commits que nous avons faits pour master avant même de créer experiment_branch.

Ce n’est pas un comportement très utile. Un cas d’utilisation courant est lorsque nous voulons voir uniquement les commits non fusionnés sur experiment_branch.
Nous le faisons avec la commande suivante.
git log master..experiment_branch
Tous les commits sont accessibles depuis experiment_branch mais pas master (essentiellement, tous les commits non fusionnés sur la branche experimental).

On pourrait aussi inverser l’ordre des branches pour le cas inverse pour voir l’état du master dans lequel on va fusionner notre experiment_branch.
Notre master ressemble à ceci :

Quand on fait :
git log experiment_branch..master
Nous ne voyons que les nouveaux commits sur master après avoir créé notre branche expérimentale.

Raccourci utile avec git log pour taper quelques caractères de moins pour afficher l’historique de validation Git pour la branche
Si nous ne fournissons aucune des deux branches dans la syntaxe à double point, Git les définit par défaut sur HEAD.
Nous pouvons l’utiliser avec un choix intelligent de git checkout pour raccourcir notre commande git log.
Tout d’abord, nous passons à notre branche expérimentale.
git checkout experiment_branch
Maintenant, le HEAD pointe vers experiment_branch.
Nous utilisons maintenant la version abrégée de la syntaxe de plage à double point, en omettant l’opérande de branche droite.
git log master..
Git définit par défaut la bonne branche sur le HEAD actuel, notre experiment_branch, et nous obtenons le même historique des seuls commits non fusionnés comme ci-dessus.

Option utile pour voir uniquement les derniers commits avec log pour Git Afficher les commits sur la branche actuelle uniquement
Notre experiment_branch peut avoir une longue histoire avec de nombreux commits non fusionnés.

Nous voudrons peut-être ne voir que les derniers commits dans un tel cas.
git log -2 master..
L’option -2 affiche uniquement les 2 derniers commits de notre sous-ensemble sélectionné de l’historique.

Historique de validation Git pour la branche avec l’opérateur Caret ^
L’opérateur caret ^ exclut tous les commits accessibles depuis la branche sur laquelle il opère. Nous pouvons l’utiliser pour afficher uniquement l’historique de notre branche actuelle.
git log ^master experiment_branch

Historique de validation Git pour la branche avec l’option --not
Nous pouvons également obtenir le même résultat en utilisant l’option --not devant un nom de branche. Cela exclut tous les commits accessibles depuis cette branche.
git log experiment_branch --not master
Nous voyons qu’il fait la même chose et ne montre que les commits non fusionnés sur notre experiment_branch.

Ressources
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://rakhesh.com/coding/git-view-the-commit-log-of-a-remote-branch/
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://stackoverflow.com/questions/14889017/how-to-show-local-branch-history#14889649
- https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch