Je suis développeur web freelance et propose des formations à Symfony2 ! Contactez-moi pour en discuter.

Des alias git utiles

18 juin, 2013

Depuis quelques temps, j’utilise les alias git pour un certain nombre de taches récurrentes, pour lesquelles je trouve les commandes de bases peu performantes, trop longues à taper, ou parce que je préfère ne pas retenir les nombreuses options qu’elles proposent. Autre avantage : les alias décrits dans le fichier .gitconfig apparaissent dans l’autocompletion de git, ce qui n’est pas les cas si l’on fait un alias bash.

Voici quelques éléments contenus dans la section [alias] de mon fichier ~/.gitconfig:

1
2
[alias]
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

Personnellement, je n’ai jamais réussi à me servir de git log. Trop de place occupée pour trop peu d’informations… avec cet alias, chaque commit est sur 1 ligne, les branches sont affichées et colorées, on peut voir de manière pratique qui a réalisé le commit et quand… très pratique donc, comme vous pouvez le voir sur l’image ci-dessous :

screen_better_log

Avant un stand-up meeting, pensez à git lg –since=yesterday, qui vous permet de voir ce que vous avez commité depuis la veille.

1
s = status -sb

L’alias que j’utilise le plus, car il évite de taper git status en entier, ou d’avoir à appuyer sur tab pour compléter. Ca a l’air idiot mais je tape cette commande probablement plusieurs dizaines de fois par jours, donc je revendique ma fainéantise sur la question.
L’option s signifie short (la sortie est épurée), et b permet d’afficher la branche en cours, ce qui permet d’éviter d’avoir un commit sur la mauvaise branche…

1
tryagain = reset –hard HEAD

Parce que des fois, tout ce qui a été fait ne sert à rien et qu’il vaut mieux recommencer à zéro.

1
bv = branch -v

pareil que git branch, mais affiche également le hash court du dernier commit effectué, ainsi que le titre de celui ci.
Dans la même logique, si vous passez votre temps à jongler entre différents remote, vous pouvez penser à ajouter cet alias :

1
rv = remote -v

Si vous aussi vous avez des alias pour des taches récurrentes ou pour des commandes pratiques, n’hésitez pas à le dire dans les commentaires !

Répondre

Unable to load the Are You a Human PlayThru™. Please contact the site owner to report the problem.