logo

Journal Git

L’avantage d’un système de contrôle de version est qu’il enregistre les modifications. Ces enregistrements nous permettent de récupérer les données telles que les commits, la détection des bugs, les mises à jour. Mais toute cette histoire sera inutile si nous ne pouvons pas la parcourir. À ce stade, nous avons besoin de la commande git log.

Git log est un outil utilitaire permettant de consulter et de lire un historique de tout ce qui arrive à un référentiel. Plusieurs options peuvent être utilisées avec un journal git pour rendre l'historique plus spécifique.

Généralement, le journal git est un enregistrement des validations. Un journal git contient les données suivantes :

    Un hachage de validation, qui est une somme de contrôle de 40 caractères générée par l'algorithme SHA (Secure Hash Algorithm). C'est un numéro unique.Métadonnées de l'auteur de validation: Les informations sur les auteurs telles que le nom de l'auteur et son adresse e-mail.Métadonnées de la date de validation: Il s'agit d'un horodatage pour l'heure de la validation.Titre/message de validation: C'est l'aperçu du commit donné dans le message de commit.

Comment quitter la commande git log ?

Il se peut qu'une situation se produise, vous exécutez la commande git log et vous y restez bloqué. Vous souhaitez taper ou revenir à bash, mais vous ne pouvez pas. Lorsque vous cliquez sur le Entrer clé, il vous dirigera vers l’ancienne commande jusqu’à l’indicateur de fin.

La solution à ce problème est de presse le q (Q pour quitter) . Cela vous quittera de la situation et vous ramènera à la ligne de commande. Maintenant, vous pouvez exécuter n’importe laquelle des commandes.

Journal Git de base

La commande Git log est l’une des commandes les plus courantes de git. C'est la commande la plus utile pour Git. Chaque fois que vous devez vérifier l'historique, vous devez utiliser la commande git log. La commande de base git log affichera les commits les plus récents et l'état du head. Il sera utilisé comme :

 $ git log 

La commande ci-dessus affichera les derniers commits. Considérez le résultat ci-dessous :

Journal Git

La commande ci-dessus répertorie tous les commits récents. Chaque commit contient un sha-id unique, généré par l'algorithme SHA. Il comprend également la date, l'heure, l'auteur et quelques détails supplémentaires.

Nous pouvons effectuer certaines actions comme faire défiler, sauter, déplacer et quitter sur la ligne de commande. Pour faire défiler la ligne de commande, appuyez sur k pour monter, j pour descendre, sur la barre d'espace pour faire défiler une page entière vers le bas pour faire défiler une page vers le haut et q pour quitter la ligne de commande.

<

Journal Git en ligne

L'option oneline est utilisée pour afficher la sortie sous la forme d'une validation par ligne. Il affiche également le résultat en bref, comme les sept premiers caractères du SHA de validation et le message de validation.

Il sera utilisé comme suit :

 $ git log --oneline 

Ainsi, nous pouvons généralement dire que l'indicateur --oneline provoque l'affichage de git log :

  • un commit par ligne
  • les sept premiers caractères du SHA
  • le message de validation

Considérez le résultat ci-dessous :

Journal Git 1

Comme nous pouvons le voir plus précisément à partir du résultat ci-dessus, chaque validation n'est donnée que sur une seule ligne avec un numéro sha à sept chiffres et un message de validation.

Statistiques du journal Git

La commande log affiche les fichiers qui ont été modifiés. Il affiche également le nombre de lignes et une ligne récapitulative du total des enregistrements mis à jour.

Généralement, on peut dire que l'option stat est utilisée pour afficher

objet en programmation Java
  • les fichiers modifiés,
  • Le nombre de lignes ajoutées ou supprimées
  • Une ligne récapitulative du nombre total d'enregistrements modifiés
  • Les lignes qui ont été ajoutées ou supprimées.

Il sera utilisé comme suit :

 $ git log --stat 

La commande ci-dessus affichera les fichiers qui ont été modifiés. Considérez le résultat ci-dessous :

Journal Git 2

À partir du résultat ci-dessus, nous pouvons voir que tous les commits répertoriés sont des modifications dans le référentiel.

Journal Git P ou Patch

La commande git log patch affiche les fichiers qui ont été modifiés. Il affiche également l'emplacement des lignes ajoutées, supprimées et mises à jour.

Il sera utilisé comme :

 $ git log --patch 

Ou

 $ git log -p 

De manière générale, on peut dire que l'indicateur --patch est utilisé pour afficher :

  • Fichiers modifiés
  • L'emplacement des lignes que vous avez ajoutées ou supprimées
  • Modifications spécifiques qui ont été apportées.

Considérez le résultat ci-dessous :

Journal Git 3

La sortie ci-dessus affiche les fichiers modifiés avec l'emplacement des lignes qui ont été ajoutées ou supprimées.


Graphique du journal Git

La commande Git log permet de visualiser votre journal git sous forme de graphique. Pour lister les commits sous forme de graphique, exécutez la commande git log avec l'option --graph. Il se déroulera comme suit :

 $ git log --graph 

Pour rendre la sortie plus spécifique, vous pouvez combiner cette commande avec l'option --oneline. Il fonctionnera de la manière suivante :

 $ git log --graph --oneline 

Filtrage de l'historique des validations

Nous pouvons filtrer la sortie en fonction de nos besoins. C'est une fonctionnalité unique de Git. Nous pouvons appliquer de nombreux filtres tels que le montant, la date, l'auteur, etc. sur la sortie. Chaque filtre a ses spécifications. Ils peuvent être utilisés pour implémenter certaines opérations de navigation en sortie.

Comprenons chacun de ces filtres en détail.

Par montant :

Nous pouvons limiter le nombre de validations de sortie en utilisant la commande git log. C'est la commande la plus spécifique. Cette commande supprimera la complexité si vous souhaitez réduire le nombre de commits.

exemple de données json

Pour limiter la sortie du journal git, y compris l'option -. Si nous voulons uniquement les trois derniers commits, alors nous pouvons passer l'argument -3 dans la commande git log. Considérez le résultat ci-dessous :

Journal Git 4

Comme nous pouvons le voir dans la sortie ci-dessus, nous pouvons limiter la sortie de git log.

Par date et heure :

Nous pouvons filtrer la sortie par date et heure. Nous devons passer --après ou -avant argument pour spécifier la date. Ces deux arguments acceptent une variété de formats de date. Il se déroulera comme suit :

 $ git log --after=&apos;yy-mm-dd&apos; 

La commande ci-dessus affichera tous les commits effectués après la date indiquée. Considérez le résultat ci-dessous :

Journal Git 5

La commande ci-dessus répertorie tous les commits après le « 2019-11-01 ».

Nous pouvons également transmettre la déclaration de référence applicable telle que « hier », « il y a 1 semaine », « il y a 21 jours » et plus encore. Il fonctionnera comme :

 git log --after=&apos;21 days ago&apos; 

La commande ci-dessus affichera les validations effectuées il y a 21 jours. Considérez le résultat ci-dessous :

Journal Git 6

Nous pouvons également suivre les commits entre deux dates. Pour suivre les commits créés entre deux dates, transmettez une référence d'instruction --avant et --après la date. Supposons que nous souhaitions suivre les commits entre le « 2019-11-01 » et le « 2019-11-08 ». Nous allons exécuter la commande comme suit :

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

La commande ci-dessus affichera les validations effectuées entre les dates. Considérez le résultat ci-dessous :

Journal Git 7

La sortie ci-dessus affiche les validations entre la période donnée. Nous pouvons utiliser --since et --until au lieu de --after et --before. Parce qu'ils sont respectivement synonymes.

Par auteur :

Nous pouvons filtrer les commits par un utilisateur particulier. Supposons que nous souhaitions répertorier les validations effectuées uniquement par un membre particulier de l'équipe. Nous pouvons utiliser l'indicateur -author pour filtrer les commits par nom d'auteur. Cette commande prend une expression régulière et renvoie la liste des validations effectuées par les auteurs qui correspondent à ce modèle. Vous pouvez utiliser le nom exact au lieu du modèle. Cette commande s'exécutera comme suit :

pages du serveur Java
 $ git log --author=&apos;Author name&apos; 

La commande ci-dessus affichera tous les commits effectués par l'auteur donné. Considérez le résultat ci-dessous :

Journal Git 8

À partir du résultat ci-dessus, nous pouvons voir que tous les commits de l'auteur Je suis Dwivedi1 sont répertoriés.

Nous pouvons utiliser une chaîne au lieu d'une expression régulière ou d'un nom exact. Considérez la déclaration ci-dessous :

 $ git log --author=&apos;Stephen&apos; 

La déclaration ci-dessus affichera tous les commits dont l'auteur inclut le nom Stephen. Il n’est pas nécessaire que le nom de l’auteur corresponde exactement ; il contient juste la phrase spécifiée.

Comme nous le savons, l'adresse e-mail de l'auteur est également impliquée dans le nom de l'auteur, de sorte que nous pouvons utiliser l'adresse e-mail de l'auteur comme modèle ou comme recherche exacte. Supposons que nous souhaitions suivre les commits des auteurs dont le service de messagerie est Google. Pour ce faire, nous pouvons utiliser des caractères génériques tels que « @gmail.com ». Considérez la déclaration ci-dessous :

 $ git log -author=&apos;@gmail.com&apos; 

La commande ci-dessus affichera les validations par auteurs comme indiqué dans le modèle. Considérez le résultat ci-dessous :

Journal Git 9

Par message de validation :

Pour filtrer les commits par le message de commit. Nous pouvons utiliser l'option grep, et elle fonctionnera comme option d'auteur.

Il se déroulera comme suit :

 $ git log --grep=&apos; Commit message.&apos; 

Nous pouvons utiliser la forme courte d’un message de validation au lieu d’un message complet. Considérez la sortie ci-dessous.

Journal Git 10

La sortie ci-dessus affiche tous les commits qui contiennent le mot commit dans son message de commit.

Il existe de nombreuses autres options de filtrage disponibles, par exemple par nom de fichier, contenu, etc.