[Astuce] Un super prompt pour Git

Cet article s’adresse aux utilisateurs de Git en ligne de commande. Suite à la demande de certain, je vais vous présenter le prompt que j’utilise quotidiennement avec Git.

Présentation

Le prompt que je vais vous présenter permet de connaitre la branche et le statut de votre dépôt actuel en un clin d’œil.

La structure du prompt est la suivante :

(<branch> <branch tracking>|<local status>)

Voici ce que cela donne :
prompt-guit

Exemples :

Je suis sur la branche master, la branche est à jour (il n’y aucun push/pull à faire) et la copie de travail est propre (rien à valider):

11:07 damienp ~/workspace/webiose/expressjs4 (master|✔) %

Je suis sur la branche dev, la branche est à jour et il y a 1 fichiers non suivis (untracked):

11:08 damienp ~/workspace/webiose/expressjs4 (dev|…1) %

Je suis sur la branche dev, la branche est à jour et il y a 2 fichiers indexé (staged) :

11:08 damienp ~/workspace/webiose/expressjs4 (dev|● 2) %

Je suis sur la branche dev, la branche est en avance d’un commit et la copie de travail est propre :

11:08 damienp ~/workspace/webiose/expressjs4 (dev↑·1|✔) %

Je suis sur la branche test, il y a une divergence de 3 commits et il y a un 1 commit à récupérer du dépôt. La copie de travail est propre :

11:10 damienp ~/workspace/webiose/expressjs4 (test↓1↑3|✔) %

Je suis sur la branche test, la branche est à jour, il y a 6 fichiers non fusionnés (unmerge) et il y a 2 fichiers modifiés :

11:12 damienp ~/workspace/webiose/expressjs4 (test|✖6✚2) %

Les symboles :

Statut local :

  • ✔ : répertoire à jour
  • …n : il y a n fichiers non suivis (untracked)
  • ✚n : il y a n fichiers modifiés non indexés (unstaged)
  • ●n : il y a n fichiers indexés (staged)
  • ✖n : il y a n fichiers non fusionnés (unmerged)

Traqueur de la branche :

  • ↑n : en avance de n commits
  • ↓n : en retard de n commits
  • ↓m↑n : la branche diverge de m commits, par rapport à vos n commits

Installation

Je vous invite à télécharger les deux fichiers (gitprompt.sh et gitstatus.py) sur mon dépôt Github ici.
Vous devez créer un dossier .bash dans votre répertoire personnel (~) si ce n’est pas déja fait.
Copier les deux fichiers dans le répertoire .bash et sourcé le fichier gitprompt.sh dans votre .bashrc :

> nano ~/.bashrc
[...]
source .bash/gitprompt.sh

Aller dans un dépôt Git local pour tester.

Laisser un commentaire