Article original : How to Simplify Your Git Commands with Git Aliases
En tant que développeur, vous utilisez probablement l'interface en ligne de commande (CLI) de Git quotidiennement. Cependant, écrire les mêmes commandes encore et encore peut être fastidieux, surtout lorsque les commandes sont longues. C'est là que les alias Git interviennent pour vous aider.
Dans cet article, vous apprendrez comment simplifier vos commandes Git en utilisant des alias.
Table des matières
Comment ajouter des alias Git via le fichier de configuration global Git (recommandé)
Comment créer des commandes personnalisées pour des raccourcis plus complexes
Prérequis
Connaissance de Git.
Git Bash installé (optionnel mais recommandé pour les utilisateurs Windows).
Un IDE comme VS Code (ceci est également optionnel).
Qu'est-ce que les alias Git ?
Les alias Git sont des raccourcis personnalisés pour les commandes Git existantes, rendant les tâches courantes plus rapides et plus faciles. Ils vous permettent de définir vos propres commandes, vous permettant de personnaliser les raccourcis exactement comme vous le souhaitez.
Vous avez deux options principales pour ajouter/créer des alias git dans votre configuration git, en utilisant votre fichier de configuration Git ou en les ajoutant directement via le CLI (terminal/ligne de commande).
Comment ajouter des alias Git via le fichier de configuration global Git (recommandé)
Cette option implique d'ouvrir votre fichier de configuration git global et d'ajouter vos alias git à la fin du fichier.
Comment définir votre éditeur Git préféré
Définissez votre logiciel d'édition de configuration Git par défaut, par exemple, j'utilise VS Code pour éditer mon fichier de configuration Git, mais vous pouvez utiliser n'importe quel éditeur de texte/éditeur de code que vous préférez.
Exécutez cette commande pour définir Notepad comme votre éditeur préféré sur Windows (CMD/PowerShell) :
git config --global core.editor "notepad"
Exécutez cette commande pour définir VS Code comme votre éditeur préféré sur Windows & MacOS/Linux :
git config --global core.editor "code --wait"
Pour définir un autre éditeur par défaut, recherchez en ligne "Définir {éditeur} comme éditeur Git par défaut", et remplacez {éditeur} par votre application préférée.
Comment ouvrir le fichier de configuration Git
Ouvrez votre terminal de choix et entrez la commande suivante. Cela ouvrira le fichier de configuration Git global (git config --global), en mode édition (-e).
git config --global -e
Vous pouvez ouvrir le fichier de configuration git directement depuis les emplacements suivants :
Mac Os : Répertoire personnel → montrer les fichiers cachés (Cmd + Shift + H) → .gitconfig
Windows : C:\Users\VotreNomUtilisateur\ → puis montrer les fichiers cachés (dans Affichage) → et trouver .gitconfig
Linux : Répertoire personnel → montrer les fichiers cachés (Ctrl + H) → .gitconfig
Comment ajouter un alias Git via votre fichier de configuration
Si vous ajoutez des alias Git pour la première fois, ouvrez votre fichier .gitconfig, ajoutez [alias] à la fin, puis listez vos raccourcis ci-dessous. Cela indique à Git que ce sont des alias. Ajoutez votre alias préféré (la commande raccourcie que vous souhaitez exécuter).
Le format d'un alias git est <alias> = <command>, donc nous avons :
co = checkout
cob = checkout -b
Explication des exemples ci-dessus :
co = checkout cela mappe la commande git checkout à une commande plus courte git co. Vous appelerez ensuite git co feature/123 dans votre terminal.
Vous n'avez pas besoin de taper git devant la commande, car la configuration le préfixera automatiquement car elle sait que la commande que vous mappez est une commande Git.
Note : Tout paramètre passé à la commande sera appliqué à la commande finale appelée dans l'alias uniquement.
D'autres alias peuvent être ajoutés de cette manière, en mappant des raccourcis aux commandes git existantes. L'enregistrement et la fermeture du fichier rendront alors les alias disponibles dans votre terminal.
Comment ajouter des alias dans le CLI
Si vous voulez une approche plus rationalisée pour ajouter des alias Git, vous pouvez les ajouter directement depuis le terminal/la ligne de commande.
En prenant les exemples ci-dessus, nous pouvons les ajouter directement de la manière suivante :
Le format de la commande est : git config --global alias.{alias} "{original command}" :
git config --global alias.co "checkout"
#ou
git config --global alias.cob "checkout -b"
C'est aussi simple que cela !
Comment créer des commandes personnalisées pour des raccourcis plus complexes
D'accord, cela semble génial, mais ce n'est pas vraiment si impressionnant – nous ne supprimons que quelques caractères. Cependant, nous pouvons les rendre beaucoup plus utiles, nous pouvons créer nos commandes en utilisant des commandes shell.
Prenons l'exemple suivant, une commande que j'utilise beaucoup !
new-work = !git checkout main && git pull && git cob
Cet alias combine plusieurs commandes Git en une seule commande shell. Le caractère ! indique à Git de le traiter comme une commande shell, et non comme une commande Git standard.
Sans !, Git traite l'alias comme une commande Git (par exemple, checkout devient git checkout). Avec !, Git sait qu'il doit l'exécuter comme une commande shell sans ajouter git devant.
En enchaînant ces commandes, nous pouvons écrire des alias beaucoup plus utiles. Celui ci-dessus va :
D'abord, basculer vers la branche
main.En utilisant l'opérateur
&&, cela signifie que les autres commandes ne s'exécuteront que si la précédente a réussi.Ensuite, il va récupérer les changements de
main.Enfin, créer une nouvelle branche à partir de la branche
mainen utilisant notre autre aliasgit cob.
La commande finale peut alors accepter des paramètres (comme le ferait la commande Git originale), donc elle peut être utilisée comme suit :
git new-work 'feature/new-work-from-main'
Comment utiliser des paramètres dans toutes les commandes
Jusqu'à présent, nous n'avons pu passer nos paramètres qu'à la commande git finale dans notre alias. Cependant, que faire si nous voulons passer des paramètres à certaines, sinon toutes les commandes dans l'alias ? Nous pouvons y parvenir en utilisant une fonction shell.
Prenons l'exemple suivant :
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
Ci-dessus, nous utilisons une fonction shell qui traite les paramètres d'entrée.
Explication :
!f():Le
!indique à Git d'interpréter l'alias comme une commande shell plutôt que comme une commande Git standard.f()définit une fonction shellfqui nous permettra d'exécuter plusieurs commandes en séquence.
Tout ce qui se trouve à l'intérieur de
{ }est ce qui sera exécuté dans la fonctionf().git checkout \"$1\": Exécutera une commande Git paramétrée, où$1est échappé et sera remplacé par le premier paramètre passé à l'alias. Les séquences d'échappement\"autour de$1permettent des noms de branche avec espaces.&&est un opérateur logique qui garantit que chaque commande ne s'exécute que si la précédente réussit. Sigit checkout "$1"échoue, les commandes qui suivent ne s'exécuteront pas.git checkout -b \"$2\": Crée une nouvelle branche avec le nom du deuxième paramètre comme précédemment.;: Marque la fin de la fonctionf();f: Leffinal appelle la fonction alias immédiatement, ce qui signifie que lorsque vous appelez l'alias, il déclare la fonction puis l'appelle immédiatement.
Utilisation :
git new-work development task/feat-123
Autres alias utiles
[alias]
co = checkout
cob = checkout -b
s = status
tidy-up = !git checkout main && git branch | grep -v "main" | xargs git branch -D
latest = !git checkout main && git pull
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
done = !git push -u origin HEAD
save = !git add -A && git commit
saveM = !git add -A && git commit -m
br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
Résumé
co : Basculer vers la branche donnée → git co task/feat-123
cob : Crée une nouvelle branche à partir de la branche actuelle → git cob feature/123
s : Appelle git status pour voir le statut de la branche git actuelle → git s
tidy-up : Supprime toutes les branches locales autres que main → git tidy-up
latest : Récupère les derniers changements de la branche main distante → git latest
new-work : Crée une nouvelle branche (2ème paramètre) à partir de la branche du 1er paramètre → git new-work main feat/123
git done : Pousse la branche actuelle vers le dépôt distant (origin) et la définit comme branche amont. Cela peut être utile lorsque vous poussez votre premier commit et que vous obtenez l'erreur :fatal: The current branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin
save : Ajoutera simplement tous les fichiers modifiés, et les commitera, en ouvrant votre éditeur Git par défaut et en demandant un message de commit → git save
savem : Fera comme ci-dessus, mais au lieu d'ouvrir votre éditeur, vous pouvez passer un message de commit en ligne → git savem 'Task123: add index.html
br : Celui-ci semble compliqué, mais il n'est pas aussi compliqué qu'il n'y paraît, mais il met en évidence la puissance des alias. En essence, il personnalise le format de sortie de git branch pour afficher une liste détaillée et colorée des branches, triées par la date de commit la plus récente, cela ressemblera à quelque chose comme l'image ci-dessous pour chaque branche que vous avez localement.

Voilà, une introduction aux alias Git et quelques exemples utiles d'alias que vous pouvez ajouter comme point de départ à votre configuration.
Comme toujours, si vous voulez en discuter ou entendre parler des futurs articles, vous pouvez me suivre sur Twitter.