Tig, ta nouvelle interface git en ligne de commande

Tig, ta nouvelle interface git en ligne de commande


  • Share on Pinterest

Vous avez votre projet sous git, vous avez peu à peu construit votre projet, au fur et à mesure des commits ou alors vous avez récupéré un projet git existant sur une plateforme, ouverte ou non, comme github, gitlab, bitbucket, etc.

Mais pour voir quoi et surtout comment développer, il faut étudier ce qui a été fait auparavant. Et pour cela, il faut se plonger dans … l’historique.

Lors de mes premiers projets git, j’utilisais le fameux:

git log

Avec comme résultat:

C’est pas mal, c’est utile, mais bon …

c’est moche et on n’a pas tant d’informations que ça et coté interaction … meh.

Et là, on m’a fait découvrir tig.

Moi devant mon terminal

Tig, c’est une interface en mode texte pour git basée sur ncurses (comme Htop).

L’utilisation la plus simple est de simplement taper tig dans votre console, lorsque vous êtes dans un projet git.

L’affichage par défaut lors du lancement de tig est l’affichage de l’historique. Il s’agit essentiellement d’un journal git, avec un peu d’ASCII-art pour représenter l’historique (vous pouvez masquer l’arborescence avec G). Sans aucun argument, il affiche la branche en cours.

En appuyant sur `Entrer sur l’un des commits, vous ouvrez celui-ci dans une vue diff.

Comment on l’installe ?

Debian et Ubuntu

apt-get install tig

CentOS et Fedora

yum install tig
dnf install tig [On Fedora 22+ releases]

MacOS

brew install tig

Windows

Pour utiliser tig sur windows, vous aurez besoin de cygwin, ainsi que les packages nécessaires à la compilation de tig (git, gcc-core, make, libiconv-devel et libncurses-devel).

Ses différentes vues

Tree

De la vue principale, vous pouvez aller dans la vue Tree afin de parcourir l’arborescence du projet en utilisant la touche t. De plus, si vous sélectionnez un fichier, appuyez sur entrée, vous verrez sur la fenêtre de droite le contenu du fichier.

Status

Cette vue permet de visualiser le statut des branches de développements. Pour l’exemple, j’ai modifié le fichier Changelog et créé le fichier unfichiercree.

Blame

Vous voulez savoir qui a foiré votre beau code ou a introduit ce vilain bug ? Dès que vous êtes positionné sur un fichier, vous pouvez appuyer sur b et le git blame du fichier sélectionné apparaît. Vous pouvez faire aussi tig blame monfichier en ligne de commande pour accéder directement au blame du fichier.

Il suffit ensuite de sélectionner une ligne et appuyez sur Entrée, et il vous montrera le dernier commit qui a touché cette ligne.

Quand je découvre que c’est moi qui ait introduit le bug

Le saviez-vous ?

  • Tig s’utilise un peu comme Vim, (oui, j’aime Vim). Par exemple pour les recherches, il suffit de taper / et de taper son expression. Si plusieurs sont trouvés, il suffit de taper n pour aller à la prochaine occurence.
  • En utilisant la commande git log | tig vous avez un affichage ressemblant furieusement au git log classique avec en plus une meilleur colorimétrie et un meilleur défilement avec un gros plus, le détail du commit ou votre est placé
  • Vous pouvez exécuter tig des 2 façons suivantes depuis le répertoire d’un projet, soit en l’associant avec une commande Git (par exemple git logtig ou git blame Changelog), soit directement(celle que l’on a vu dans la plupart de nos exemple).

Raccourcis clavier:

Changement de vue

RaccourciDescription
mvue standard
svue statut comme le git status
tmontre la vue arborescente du projet
gchercher une expression (Grep)
lmontre la vue log
dmontre le diff du commit
haffiche l’aide

Fenêtre principale

RaccourciDescription
DChange l’affichage de la date
AChange l’affichage de l’auteur
Xvoir les identifiants des commits
CCherry pick un commit
,Va au commit parent

Dans toutes les vues

RaccourcisDescription
kMonte d’une ligne
jDescendre d’une ligne
KCommit suivant
JCommit précédent
qQuitte la vue actuelle

D’autres informations: