git-toolbelt est une collection de commandes utilitaires conçues pour améliorer l'efficacité des développeurs lors de l'utilisation quotidienne de Git. Que vous soyez débutant ou expérimenté, ces outils simplifient les opérations complexes et réduisent les tâches répétitives.
Présentation de la suite d'outils
git-toolbelt agit comme un ensemble d'outils intégrés (d'où le nom "toolbelt"), fournissant de nombreuses commandes pour résoudre les problèmes courants. Ces commandes couvrent la gestion des branches, les opérations de commit, les comparaisons de code, et bien plus.
Fonctionnalités principales
La suite propose plus de cinquante commandes pratiques. Voici les fonctionnalités les plus remarquables :
Gestion de branches
- git-current-branch : récupère instantanément le nom de la branche courante.
- git-main-branch : identifie automatiquement la branche principale du dépôt.
- git-workon : change ou crée rapidemennt de nouvelles branches avec suivi automatique.
- git-active-branches : liste les branches actives récemment pour faciliter le nettoyage.
Opérations de commit efficaces
- git-fixup : intègre les modifications indexées au dernier commit sans modifier le message.
- git-fixup-with : sélectionne interactivement un commit à corriger, avec intégration fzf.
- git-wip : crée un commit "WIP" (travail en cours) comme point de sauvegarde temporaire.
- git-undo-commit : annule le dernier commit tout en conservant les modifications indexées.
Analyse et comparaison
- git-modified : affiche les fichiers modifiés localement.
- git-modified-since : montre les fichiers modifiés depuis la branche principale.
- git-diff-since : compare les différences entre la branche actuelle et la branche principale.
Maintenance du dépôt
- git-cleanup : supprime les branches fusionnées dans la branche principale.
- git-update-all : met à jour toutes les branches locales depuis le dépôt distant.
- git-drop-local-changes : abandonne toutes les modifications locales pour revenir à un état propre.
Procédure d'installation
Via Homebrew (recommandé)
$ brew tap nvie/tap
$ brew install nvie/tap/git-toolbelt
Installation manuelle
Pour les systèmes sans Homebrew, installez d'abord GNU coreutils, puis clonez le dépôt et ajoutez-le à votre PATH :
$ git clone https://github.com/nvie/git-toolbelt
$ cd git-toolbelt
$ export PATH=$PATH:$PWD
Exemples d'utilisation
Commandes de développement courantes
Changement rapide vers une branche (création si nécessaire) :
$ git workon feature/nouvelle-fonctionnalite
Ouverture directe des fichiers modifiés dans un éditeur :
$ vim $(git modified)
Sauvegarde rapide du travail en cours :
$ git wip
Correction de commits
Correction d'une erreur dans le dernier commit :
$ vim README.md # Correction du contenu
$ git add README.md
$ git fixup # Intégration au dernier commit
Correction interactive d'un commit historique :
$ git fixup-with # Ouvre l'interface de sélection fzf
Nettoyage de branches
Suppression des branches fusionnées :
$ git cleanup
Affichage des brenches récentes :
$ git recent-branches
Exploration avancée
La suite inclut des commandes spécialisées pour divers besoins : utilitaires de script (git-is-repo, git-has-local-changes), opérations avancées (git-cleave, git-shatter-by-file), et outils d'analyse (git-committer-info). La documentation complète avec tous les détails d'utilisation est disponible dans le fichier README du projet.