Comment utiliser les alias Git : 10 exemples essentiels
Git est un outil populaire et puissant, et peut-être le système de contrôle de version le plus réussi qui ait jamais existé. La puissance de Git est évidente à partir de son jeu de commandes. Il se compose actuellement d'environ 150 commandes, du git-status commun à l'obscur git-get-tar-commit-id . Avec chaque commande prenant en charge son propre ensemble d'options, il y a une quantité stupéfiante à retenir.
Heureusement, Git a un moyen de simplifier les choses. Un alias Git peut servir de raccourci pour n'importe quelle sous-commande, avec n'importe quel ensemble d'options. Avec des commandes externes, vous pouvez utiliser des invocations encore plus puissantes. Voici 10 des alias les plus utiles que vous pouvez configurer.
Comment définir un alias
Définir un alias est aussi simple que de suivre ce modèle :
git config --global alias.co 'checkout'
L'option –global définit l'alias pour toutes les utilisations de Git par l'utilisateur actuel. Pour qu'un alias s'applique à tous les utilisateurs du système, utilisez plutôt –system . Pour ajouter un alias spécifique au référentiel actuel, utilisez –local .
Si vous savez où se trouve un fichier de configuration, vous pouvez le modifier directement. La configuration du système se trouve dans un emplacement global, généralement /usr/local/etc/gitconfig . Votre configuration spécifique à l'utilisateur vivra dans un fichier de votre répertoire personnel tel que ~/.gitconfig . La configuration locale existe dans chaque référentiel lui-même, dans le fichier .git/config .
1. Un alias pour changer de succursale rapidement
En fonction de votre flux de travail, vous pouvez changer de branche plusieurs fois au cours de chaque session de travail. Pour alléger un petit effort et vous entraîner avec le type d'alias le plus simple, essayez ce qui suit :
alias.co 'checkout'
Taper git co feature1 va maintenant basculer vers la branche feature1 . L'alias raccourcit le nom de la sous-commande, qui continue de fonctionner avec des arguments supplémentaires.
2. Afficher l'état condensé
Par défaut, la commande git status produit une sortie détaillée. Il explique l'état en détail, avec des informations utiles pour ceux qui ne connaissent pas Git. Cependant, si vous souhaitez économiser de l'espace et que vous êtes déjà familiarisé avec la terminologie Git, vous pouvez configurer un alias pour une version plus courte :
alias.st status -sb
Ceci est juste une très légère variation sur git-status , mais l'option -s produit une sortie courte qui rend les choses beaucoup plus brèves. Cela prendra quelque chose comme ce statut git par défaut :

Et produisez ceci à la place :

L'option -b affiche les informations de branche et de suivi que -s supprimerait autrement.
3. Afficher la journalisation récapitulative
Git propose de nombreuses façons d' inspecter l'historique d'un projet via la commande git-log . Il peut filtrer les commits qu'il rapporte et afficher de nombreuses données différentes associées à chaque commit. Parfois, cependant, vous voulez un journal aussi compact que possible. L'option –oneline fournit cela, mais il est beaucoup plus rapide de l'aliaser, étant donné que c'est une option que vous pouvez utiliser assez souvent :
alias.ll 'log --oneline'
La sortie présente un commit par ligne, avec le titre du message de commit et un hachage abrégé. Cela ressemble à ceci :

4. Annuler la dernière modification
La commande git reset est précieuse, mais ce n'est pas la plus simple à comprendre. Parfois, vous voulez juste une simple annulation qui remonte le dernier commit. L'option –soft garantit que Git ne supprime que le dernier commit, sans rien changer aux fichiers locaux de votre arbre de travail. HEAD~1 est simplement un moyen de référencer le commit avant le HEAD.
alias.undo 'reset --soft HEAD~1'
5. Journal du dernier commit
Si vous récupérez un projet de la veille, il peut être utile d'examiner le dernier commit. Avec un alias git-log, vous pouvez obtenir un rapport rapide et détaillé du dernier commit :
alias.last 'log -1 HEAD --stat'
L'option -1 HEAD demande simplement le tout dernier commit et –stat répertorie les fichiers affectés par le commit, avec le nombre de lignes insérées et supprimées pour chacun.

6. Un engagement simple et unique
Vous vous retrouvez probablement à ajouter des fichiers et à les valider assez souvent à l'étape suivante. À moins que votre flux de travail ne soit plus compliqué, vous souhaiterez peut-être simplifier ce processus avec un alias :
alias.ac '!git add -A && git commit'
Les composants individuels ne nécessitent pas beaucoup d'explications, à part noter que l'option -A passée à git-add mettra automatiquement à jour l'index afin que tous les fichiers correspondent à la copie de travail. Il prend en charge la suppression, la modification et la création de fichiers.
Une chose intéressante à noter à propos de cet alias est qu'il combine deux commandes. Il le fait en utilisant le ! symbole comme premier caractère de l'alias. Cela informe Git que ce qui suit est une commande shell externe plutôt qu'une sous-commande.
7. Formatage de branche fantaisie
Une autre commande avec beaucoup de flexibilité, git-branch peut formater sa sortie de plusieurs manières au-delà de la valeur par défaut clairsemée.
alias.br "branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate"
Examinez le format du début à la fin. Notez qu'il comprend de nombreux champs spéciaux. %(HEAD) ajoute un astérisque à côté de la branche actuelle.

Les alias sont un excellent moyen d'expérimenter le formatage de commandes telles que git-branch . Vous développerez des préférences au fil du temps, il est donc indispensable de garder une trace des options qui produisent votre sortie préférée.
8. Résumer les modifications par contributeur
Variante de git log, git-shortlog regroupe les commits qu'il affiche par auteur. C'est idéal pour les notes de version ou simplement pour garder un œil sur qui a fait quoi récemment.
Quelques options permettent d'obtenir un résumé d'auteur polyvalent très pratique, parfait pour une utilisation régulière via un alias. L'option -e affiche les adresses e-mail en plus des noms. L'option –summary affiche simplement un nombre total plutôt que le sujet de chaque commit. Et –numbered classe la sortie finale par le nombre total de contributions. Vous pouvez utiliser cet alias :
alias.contrib 'shortlog -e --summary --numbered'
Pour produire la sortie suivante :

9. Liste des branches triées par dernière modification
Maintenant, pour un peu plus de travail avec les branches, cette fois en utilisant une sous-commande de niveau inférieur. Cet alias compliqué est un autre exemple de commande externe, un pipeline, dans ce cas. Tout d'abord, la commande git-for-each-ref parcourt toutes les branches connues. Il le fait dans l'ordre de la date d' auteur et formate la sortie pour afficher cette date à côté du hachage de validation. Enfin, il utilise sed pour supprimer refs/heads/ du nom de chaque branche.
alias.b '!git for-each-ref --sort="-authordate" --format="%(authordate)%09%(objectname:short)%09%(refname)" refs/heads | sed -e "s-refs/heads/--"'

10. Un alias pour afficher tous les alias
Avec toute cette prise en charge des alias, il est surprenant que Git n'offre pas un moyen simple de visualiser tous les alias que vous avez configurés. Ne vous inquiétez pas, vous pouvez résoudre ce problème avec un alias ! La commande git config répertorie toutes les configurations actuelles. Vous pouvez filtrer les valeurs à l'aide de l'option –get-regexp , donc l'alias suivant vous donne une commande git alias utile :
alias.alias 'git config --get-regexp ^alias.'

Gagnez du temps et de la frustration avec les alias Git
Les alias Git vous font gagner du temps en éliminant le besoin de taper des commandes longues et compliquées. Git possède un grand nombre de sous-commandes, mais les alias sont faciles à réutiliser et à maintenir. Vous pouvez même regrouper des alias dans votre projet via une configuration locale, ce qui vous permet de partager des raccourcis et des pratiques standard.
Tout comme les alias Linux, les alias Git vous permettent de taper moins et d'en faire plus. Essayez d'expérimenter avec les alias ci-dessus et explorez l'ensemble de commandes Git complet pour voir la richesse des fonctionnalités disponibles.