Comment utiliser Git Log pour formater l'historique des commit?

Git est un outil qui permet d'organiser et de gérer le code source de vos applications. Apprenez tout sur la commande d'historique de format de journal git et comment l'utiliser.

Dans cet article, nous discuterons de certaines options avancées pour formater et imprimer les journaux de validation pour extraire les informations dont vous avez besoin de l'historique du journal de votre projet. Puisque nous savons déjà, tient un journal des modifications apportées à l’historique du projet, nous allons maintenant explorer d’autres façons dont la commande «git log» est utile.



Premièrement, je passe à / vérifie la branche «feature1» pour un historique pratique et plus court.
Utilisez les commandes -



$cd myProj–Passer au projet git

$git checkout feature1–Saute à la branche «feature1»



1. Valider le formatage

1.1 Pretty-print le contenu de sortie dans un format donné

Syntaxe: git log --pretty [=]

où, peut être l'un des une ligne, court, moyen, plein, plus plein, email, brut, et format:
Quand = partie est omise, elle est par défaut moyen.

1.1.1 –pretty = en ligne

Joli journal de validation imprimé sur une «seule ligne»
Commander: git log --pretty = en ligne
Formate la sortie dans l'ordre:




Commit - Historique du format du journal Git - Edureka

1.1.2 –pretty = court

Formatez la sortie de validation 'courte' au format:
commit (refname)
Auteur:



1.1.3 –pretty = moyen

Commander: git log --pretty = moyen
Imprimer la sortie de validation au format «moyen»:
commettre
Auteur :
Date:


1.1.4 –pretty = plein

Commander: git log --pretty = complet
La sortie est au format:
commit (refname)
Auteur:
Commettre:


1.1.5 –pretty = plus plein

Commander: git log --pretty = plus complet
commit (refname)
Auteur:
AuteurDate :
Commettre:
Date de validation:


1.1.6 –pretty = email

Commander: git log --pretty = email
Imprimer la sortie du journal au format de style e-mail:
De
De:
Date:
Matière: [PIÈCE]


1.1.7 –pretty = brut

Commander: git log --pretty = raw
Le format de sortie du journal brut montre la validation entière exactement telle qu'elle est stockée dans l'objet de validation.
commettre
arbre
parent
auteur
commettre

1.1.8 –format:: Formatage personnalisé

Le format vous permet de spécifier les informations de l'objet de validation que vous souhaitez imprimer dans le journal de sortie de validation
Considérons les différents espaces réservés que cette option fournit, tout comme une fonction «C printf» à l'aide d'extraits de code:

Commander: git log --pretty = format: '% h% ad | % s% d [% an] '--date = court
Format de sortie:
| [nom de l'auteur]

% h = ID de hachage / sha1commit raccourcis
% H = identifiants sha-1 longs
= date de création
% s = valider la ligne de titre du sujet
%ré = noms de pointeur de référence (branche, balise)
%une = nom de l'auteur
-Date = short: n'imprime que la date et non l'heure dans un format lisible

Maintenant, que diriez-vous de rendre cette sortie plus conviviale, en utilisant des couleurs.
Commander:
git log --pretty = format: '% C (jaune)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short


Certains autres espaces réservés utilisés dans l'extrait de code ci-dessus sont:
% C (jaune) : Tournez la chaîne suivante en jaune
% Creset : Réinitialise la chaîne suivante à la couleur par défaut (blanche)
% Cgreen : changer la chaîne suivante en vert
%J'imagine: Changer la chaîne suivante en rouge
% Cblue: Rendre le nom de l'auteur en bleu

Vous n'êtes pas obligé de vous souvenir et d'écrire la commande entière à chaque fois, utilisez simplement un nom court comme git alias comme indiqué ci-dessous:
Commander:
git config --global alias.c-hist 'log --pretty = format:'% C (jaune)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--date = short'

'C-hist' représente c ustomisé hist ory
Donc, comme vous l'auriez remarqué, je suis en train de définir mon configuration git fichier avec les valeurs.

lire le fichier xml dans l'exemple java

Maintenant, pour vérifier l'historique de la branche actuelle, tout ce que vous avez à faire est d'exécuter la commande, comme ceci:
Commander: aller c-hist

1.2 –abbrev-commit: raccourcir git commit hash-id

Commander: git log --abbrev-commit
Le nom de l'objet de validation hexadécimal complet de 40 octets est raccourci à 7 octets par défaut.


Faisons le club avec le ‘--une ligne«Option pour une vue pratique, comme ceci:
Commander: git log --abbrev-commit --oneline

Ce qui est plus intéressant, c’est que vous pouvez également spécifier la longueur en octets des identifiants sha-1 à l’aide de l’option ‘–abbrev =’, comme illustré ci-dessous:
Commander: git log --abbrev-commit --abbrev = 5 --oneline



Clairement, les identifiants sha-1 mis en surbrillance sont réduits à une taille de 5 octets.

1.3 –no-abbrev-commit

Affiche le nom de l'objet de validation hexadécimal complet de 40 octets.
Cela nie –Abbrev-commit et ces options qui impliquent
tel que «–oneline».
Commander: git log --pretty = oneline --no-abbrev-commit



1.4 - date-relative

Commander: git log --relative-date

Veuillez noter que cette heure en surbrillance est sujette à changement en fonction de l'heure à laquelle vous exécutez la commande sur votre système.

1.5 –date =

Vous pouvez également formater la date des journaux de validation dans l'une des options de format suivantes:

1.5.1 –date = relative

Commander :git log --date = relative
Ceci est synonyme de la commande ci-dessus 'git log --relative-date»Et imprime les mêmes commits.

1.5.2 –date = local

Commander : git log --date = local

1.5.3 –date = iso

Commander: git log --date = iso

1.5.4 –date = iso-strict

Commander: git log --date = iso-strict

1.5.5 –date = rfc

Commander: git log --date = rfc

1.5.6 –date = courte

Commander: git log --date = court

1.5.7 –date = raw (affiche la date en secondes)

Commander: git log --date = raw
Imprimez le temps en secondes depuis le epoc unix heure (01 janvier 1970) suivi du fuseau horaire.

1.5.8 –date = humain

Commander: git log --date = humain

1.5.9 –date = unix

Affiche la date sous la forme epoc unix (UTC) heure.
Commander: git log --date = unix

1.6 –parents

Imprimez également les parents de chaque commit au format:
Commander: git log --parents
Commande de sortie Oneliner: git log --parents --oneline

Points à noter:
C366419 est un commit de fusion, donc a respectivement 2 parents: feeb30c et 4920adc
également

1d67b50 est un commit de fusion, résultant de la fusion f2ff2e4 et abb694b
078f9f5 est un commit de fusion créé par fusion 9a2412e et ab3a5e5
Tandis que, 86792c6 est le commit initial, donc pas de parent.

1,7 - enfants

Imprimez aussi les enfants dans le formulaire
Commander: git log --children --oneline

Remarque :
006b9ce est le dernier commit, donc n'a pas encore d'objet de commit enfant. La prochaine modification que vous apporterez et validerez sur cette branche sera l'objet de validation enfant de ce dernier identifiant sha-1.

1,8 –graphe

Dessinez une représentation graphique textuelle de l'historique des validations avant les identifiants sha-1.
Commander: git log --graph
Amélioration de la sortie oneliner: git log --graph --oneline


Cela vous permet de comprendre quand, comment et pourquoi et d'autres branches ont été fusionnées dans la branche actuellement extraite.

1.9 –show-linear-break

Commander: git log --show-linear-break
C'est une commande utile, pour indiquer une barrière entre 2 commits consécutifs n'appartenant pas à une branche linéaire, c'est-à-dire les commits provenant de branches différentes.


Comparez la sortie ci-dessus avec la sortie de la commande «git log –graph» qui montre clairement comment les commits «linear-break» ont été fusionnés.

Bonus: résumer la sortie du journal git: «git shortlog»

La 'git shortlog«Commande catégorise les journaux de validation par auteur et imprime un résumé général, indiquant les validations effectuées par chaque auteur.
Commander: git log shortlog

Commander : git log shortlog -s
-s signifie –summary, supprime la description de la validation et affiche simplement le nombre de validations de chaque auteur, comme ceci:

En outre, vous pouvez également formater la sortie en utilisant les mêmes espaces réservés que ceux décrits sous '--pretty = format«Option
Essayez la commande: git shortlog --format = '% h | % s '

Par conséquent, vous conviendrez que cette sortie a plus de sens car elle montre l'identifiant et le pour chaque auteur avec le nombre total de validations.

Remarque : Il est intéressant de noter que vous pouvez très facilement trouver la branche qui a fait un commit particulier. Cela vaut la peine de reprendre cette discussion en profondeur dans les prochains articles.

Donc avec ça, nous arrivons à la fin de ceciHistorique du format du journal Gitblog, j'espère que vous l'avez trouvé instructif.

Dans cet article, nous avons appris quelques techniques de formatage qui impriment les informations du projet de manière plus personnalisée et conviviale. Vous devriez maintenant savoir comment utiliser efficacement les paramètres de la commande «git log» pour extraire toutes les informations dont vous avez besoin sur le code source de votre historique de validation. Donc, avec cela, nous arrivons à la fin de cet article, j'espère que vous l'avez trouvé informatif.

Si vous souhaitez en savoir plus, vous pouvez consulter ceci par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation à la certification Edureka DevOps aide les apprenants à comprendre ce qu'est DevOps et à acquérir une expertise dans divers processus et outils DevOps tels que Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack et GIT pour l'automatisation de plusieurs étapes dans SDLC.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article sur «Historique du format des journaux Git» et nous vous répondrons.