En tant que développeur, vous utilisez probablement quotidiennement l’interface en ligne de commande Git (CLI). Cependant, écrire les mêmes anciennes commandes encore et encore peut être laborieux, surtout lorsque les commandes sont longues. C’est ici que les alias Git entrent en jeu 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 Git global (recommandé)
-
Comment ajouter des alias dans l’interface en ligne de commande
-
Comment créer des commandes personnalisées pour des raccourcis plus complexes
Prérequis
-
Connaissance de Git.
-
Installation de Git Bash (optionnelle mais recommandée pour les utilisateurs de Windows).
-
Un IDE comme VS Code (également facultatif).
Quels sont les alias Git?
Les alias Git sont des raccourcis personnalisés pour les commandes Git existantes, facilitant et accélérant les tâches courantes. 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 l’interface en ligne de commande (terminal).
Comment ajouter des alias Git via le fichier de configuration Git global (recommandé)
Cette option consiste à ouvrir votre fichier de configuration Git global et à ajouter vos alias Git à la fin du fichier.
Comment définir votre éditeur Git préféré
Définissez votre éditeur 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 éditeur préféré sur Windows (CMD/PowerShell):
git config --global core.editor "notepad"
Exécutez cette commande pour définir VS Code comme éditeur préféré sur Windows et MacOS/Linux:
git config --global core.editor "code --wait"
Pour définir un éditeur par défaut différent, recherchez en ligne « Définir {éditeur} comme éditeur par défaut pour Git » et remplacez {éditeur}
par votre application préférée.
Comment ouvrir le fichier de configuration Git
Ouvrez votre terminal préféré et saisissez 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 → afficher les fichiers masqués (Cmd + Shift + H) → .gitconfig
Windows: C:\Utilisateurs\VotreNomUtilisateur\
→ puis afficher les fichiers masqués (dans Affichage) → et trouver .gitconfig
Linux: Répertoire personnel → afficher les fichiers masqué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 énumérez vos raccourcis ci-dessous. Cela indique à Git qu’il s’agit d’alias. Ajoutez votre alias préféré (la commande raccourcie que vous souhaitez exécuter).
Le format d’un alias Git est <alias> = <commande>
, donc nous avons:
co = checkout
cob = checkout -b
Explication des exemples ci-dessus:
co = checkout
cela associe la commande git checkout
à une commande plus courte git co
. Vous pouvez alors appeler git co feature/123
dans votre terminal.
Vous n’avez pas besoin de taper git
devant la commande, car la configuration ajoutera automatiquement ceci puisqu’elle sait que la commande que vous associez est une commande Git.
Remarque: Tous les paramètres passés à la commande seront appliqués uniquement à la commande finale appelée dans l’alias.
Plusieurs alias peuvent être ajoutés de cette manière, associant des raccourcis à des commandes Git existantes. Enregistrer et fermer le fichier rendra alors les alias disponibles dans votre terminal.
Comment Ajouter des Alias dans l’Interface de Ligne de Commande
Si vous souhaitez une approche plus simplifiée pour ajouter des alias Git, vous pouvez les ajouter directement à partir du terminal/ligne de commande.
En reprenant les exemples ci-dessus, on peut les ajouter directement de la manière suivante:
Le format de la commande est: git config --global alias.{alias} "{commande originale}"
:
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 bien, mais ce n’est pas vraiment impressionnant – nous ne supprimons que quelques caractères. Cependant, nous pouvons les rendre beaucoup plus utiles, nous pouvons créer nos propres commandes en utilisant des commandes shell.
Prenons l’exemple suivant, une commande que j’utilise souvent!
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 la 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 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 fera :
-
Tout d’abord, vérifiez 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. -
Deuxièmement, il récupérera les modifications depuis
main
. -
Enfin, créez une nouvelle branche à partir de la branche
main
en 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 avons seulement pu transmettre nos paramètres à la commande git finale dans notre alias. Cependant, que faire si nous voulons transmettre des paramètres à certaines, voire à toutes les commandes à l’intérieur de l’alias ? Nous pouvons y parvenir en utilisant une fonction shell.
Prenez l’exemple suivant :
new-work = "!f() { git checkout \"$1\" && git pull && git checkout -b \"$2\"; }; f"
Au-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 qu’une commande Git standard. -
f()
définit une fonction shellf
qui nous permettra d’exécuter plusieurs commandes en séquence.
-
-
Tout ce qui se trouve à l’intérieur de
{ }
sera exécuté dans la fonctionf()
. -
git checkout \”$1”'\
: Exécutera une commande Git paramétrée, où$1
est échappé et sera remplacé par le 1er paramètre passé à l’alias. Les séquences d’échappement\"
autour de$1
permettent les noms de branches avec des 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 second paramètre comme précédemment. -
;
: Marque la fin de la fonctionf()
; -
f
: Le dernierf
appelle immédiatement la fonction d’alias, 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:
Passer à la branche spécifié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 l’état de la branche git actuelle → git s
tidy-up
: Supprime toutes les branches locales sauf main
→ git tidy-up
latest
: Récupère les derniers changements de la branche distante main
→ git latest
new-work
: Crée une nouvelle branche (2e 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 en amont. Cela peut être utile lorsque vous poussez votre premier commit et que vous obtenez l’erreur:fatal: La branche actuelle n'a pas de branche en amont. Pour pousser la branche actuelle et définir le dépôt distant comme branche en amont, utilisez git push --set-upstream origin
save
: Ajoutera simplement tous les fichiers modifiés, les validera, ouvrira votre éditeur Git par défaut et demandera un message de validation → 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 : ajouter index.html
br :
Celui-ci semble compliqué, mais ce n’est pas aussi compliqué qu’il 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 date de commit la plus récente, cela ressemblera à 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 souhaitez en discuter ou entendre parler des futurs articles, vous pouvez me suivre sur Twitter.
Source:
https://www.freecodecamp.org/news/how-to-simplify-your-git-commands-with-git-aliases/