TIG, ou comment visualiser les logs d’un dépôt GIT

Par le dans . Marqué comme , avec Un commentaire

TIG, ou comment visualiser les logs d’un dépôt GIT

Hello,

<hors-sujet>
Je commence ce court article par vous souhaiter une bonne année et mes meilleurs vœux pour 2017. Il n’est jamais trop tard pour le faire non ? :)
</hors-sujet>

J’utilise depuis pas mal de temps le gestionnaire de version décentralisée Git et j’ai découvert il y a quelques semaines un petit outil bien sympa. Je partage donc cette information avec vous =)

Comment visualiser proprement des logs Git ?!

Lorsque l’on utilise Git au quotidien, on a tendance à avoir besoin de « régulièrement » jeter un coup d’œil à l’historique du dépôt de code sur lequel on travaille.

Cette simple ligne de commande peut alors vous afficher les informations souhaitées :

git log

Par exemple, sur le dépôt Docker disponible sur Github :

Résultats renvoyés pour affichage à l’utilisateur


Mouais … ça fait le taf mais ce n’est pas super parlant non plus…

Il est également possible de pousser un peu l’exercice avec la ligne de commande suivante :

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

Toujours sur le dépôt Docker :

Résultats renvoyés pour affichage à l’utilisateur

C’est déjà un peu mieux, on a ici accès aux informations suivantes :

  • Historique des commits (hash du commit et non pas les identifiants complets)
  • Visualisation du statut des branches de développements
  • Auteur du commit
  • Commentaires liés au commit
  • Temps écoulé entre maintenant et la date du commit (ce qui est plus parlant qu’une simple date à mon sens)

OK, je vous l’accorde, pour être capable de comprendre et de modifier cette commande, encore faut-il avoir pris le temps d’aller lire la documentation :D

En tout cas, elle est bien pratique et si en plus de cela on pense à se configurer un alias git (pour ceux qui ont lu un peu la doc) ou un alias bash (pour les fainéants) on commence à être pas mal !

T’as pas une autre solution ?!

Sinon, on part sur le logiciel dont je souhaite vous parler ici : TIG (https://jonas.github.io/tig/)
Ce n’est pas une erreur, il s’agit bien du mot Git en « verlant » … ce qui explique la superbe illustration de ce billet ^^

Blague à part, vous allez voir, ce petit outil est super pratique. Et en plus, il est disponible dans les dépôts de votre distribution préférée si vous tournez sur une Ubuntu ou une Debian.

$ apt policy tig
tig:
  Installed: 2.0.2-2build1
  Candidate: 2.0.2-2build1
  Version table:
 *** 2.0.2-2build1 500
        500 http://fr.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status

Pas si vite … !

Avant de l’installer, voici quelques informations utiles :

  • Tig fonctionne principalement comme un navigateur de dépôt Git
  • Tig est une interface en mode texte basée sur Ncurses dédiée à Git
  • Tig est également capable de vous assister lors de vos changements
  • Tig accepte un ensemble de sous-commandes Git comme git-log et git-show, git-blame, etc.

Comment ça s’installe ?!

apt install tig

Comment ça s’utilise ?!

# on se place dans un dépôt de code versionné sous git
cd /mon/depot/de/code/
# quelques exemples d'utilisation de tig
tig # ouvre l'interface mode-texte
tig grep "test" # exécute un grep sur le dépôt de code
tig show 4f926b67f4ee2c1494332d7f1021e3fc45ef045a # affiche un diff du commit passé en référence

Exemple de retours de Tig toujours sur le dépôt Docker de Github :

Résultats renvoyés pour affichage à l’utilisateur

Alors efficace non ?!

Informations bonus :

Tig s’utilise un peu à la mode Vim, pour votre plus grand plaisir si vous êtes comme moi un fan de cet éditeur de texte.

En voici les principaux raccourcis claviers : (en anglais, j’ai eu la flemme de traduire ^^)

Raccourcis Descriptions courtes Descriptions détaillées
k move-up Move cursor one line up
j move-down Move cursor one line down
d view-diff Show diff view
m view-main Show main view
l view-log Show log view
t view-tree Show tree view
h view-help Show help view
<Enter> enter Enter and open selected line
q view-close Close the current view

Avec ça, vous devriez pouvoir utiliser Tig sans trop de prise de tête :)
Il existe une flopée de raccourcis clavier, je vous laisse aller dépouiller la doc par vos propres moyens !

Interface de Tig en mode « diff view »

Encore une fois, je ne vous conseille qu’une chose, aller lire la documentation :
* Où trouver la « man page » de Tig : https://jonas.github.io/tig/doc/tig.1.html
* Où trouver le manuel d’utilisation : http://jonas.nitro.dk/tig/manual.html

Sources utilisées pour la rédaction de l’article :
* Les liens cités juste au-dessus
* Le dépôt Github du projet : https://github.com/jonas/tig
* Mes expérimentations

Sources des images utilisées en illustrations :
* L’illustration principale du billet a été dénichée ici, git-scm.com/downloads/logos (page officielle), je l’ai ensuite passée à la moulinette Gimp
* Les illustrations restantes ont été réalisées à partir d’impressions d’écran pris par mes soins lors de la rédaction de ce billet

Un commentaire


N'hésitez pas, laissez un commentaire — DoFollow activé sur ce site —


« »