5 trucs GIT que j’utilise tous les jours

Parce que j’utilise GIT tous les jours dans ma vie de développeur, j’ai fini par particulièrement apprécier quelques commandes et outils bien sympathiques que je vous propose de partager ici.

Oh My Zsh & son plugin GIT

Oh My Zsh est un petit framework permettant d’enrichir son shell sous Mac OS X ou sur Linux. Nicolas vous en parlait dans son article de découverte de Oh My Zsh il y a quelques temps, donc je ne le présenterai pas plus.

L’avantage de ce shell, c’est son système de plugins. Et il est livré avec un plugin git par défaut. D’un coup d’oeil au prompt de la ligne de commande, on peut connaitre la branche sur laquelle on se trouve et son état actuel.

Par ailleurs, il ajoute un bon nombre d’alias pour aller un peu plus vite.

Pour découvrir les solutions similaires qui existent, je vous suggère d’aller faire un tour sur Git Attitude.

TIG

TIG (ce qui donne GIT à l’envers pour ceux qui ne suivent pas au fond) est une interface en mode texte pour GIT.

En gros, il peut remplacer la plupart des interfaces graphiques pour GIT que j’ai utilisé avant et permet un accès plus clair à pas mal de fonctions git. Regarder les logs, ajouter ou retirer des fichiers de la staging area… pas de nouvelles fonctionnalités, mais beaucoup plus de simplicité.

Git Gutter

J’utilise Sublime Text dans mes développements depuis pas mal de temps, et son plugin Git Gutter rempli une fonction simple mais le fait efficacement : montrer quelles lignes ont été ajoutées, modifiées ou supprimées.

Quelques raccourcis bienvenus permettent également d’aller directement aux précédentes/suivantes modifications, pour un code review efficace des modifications : Command+Shift+Option+k / Command+Shift+Option+j.

Les hooks de pre-commit

Git permet de gérer un certain nombre de hooks, ces petits scripts à lancer avant ou après chaque commit, rebase, push…

Leur mise en place est très simple, et une des utilisations de base est de servir de garde-fou : empêcher un commit si le code ne respecte pas les conventions de code du projet, si les tests unitaires ne passent pas, ou par exemple si les statistiques issues de phantomas excèdent certaines limites.

Leur inconvénient majeur, c’est que la plupart des hooks étant du côté développeur, il faut que chaque membre de l’équipe mette un peu de bonne volonté pour les activer.

Le git bisect

Ok, ce n’est pas non plus un outil externe à git puisque c’est une commande intégrée, mais trop peu de gens l’utilisent à sa juste valeur.

Si vous ne la connaissez pas, le manuel de Git est assez clair à son sujet :

git-bisect - Find by binary search the change that introduced a bug

Voilà. Git est capable de remonter dans l’historique très simplement, et en utilisant le principe de la dichotomie, permet d’isoler le commit responsable de l’introduction d’un bug.

Ca, c’est pour la version simple, mais il y a mieux : la commande est capable d’appeler un script à chaque itération qui se chargera de tester si le commit en cours possède le bug ou non. Le temps d’aller boire un café et le tour est joué.

Pour en savoir plus à ce sujet, je vous conseille de lire cet article sur Git Attitude.

TAGS: BY: Michael Cellier 0 COMMENT
LIRE LA SUITE

Michael Cellier