Les alias Git remplacent une commande longue par un raccourci de 2 à 4
lettres. Au lieu de taper git log --oneline --graph --all --decorate,
vous tapez git lg. Ce guide vous donne les alias essentiels puis vous
montre comment créer les vôtres.
Prérequis : Git installé et configuré.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Créer vos premiers alias pour les commandes du quotidien (
co,st,lg) - Utiliser des alias avancés avec formatage de log personnalisé
- Intégrer des commandes shell dans vos alias avec le préfixe
! - Partager et versionner vos alias via
.gitconfig
Créer un alias
Section intitulée « Créer un alias »La commande git config crée un alias en une ligne :
git config --global alias.st statusDésormais, git st est équivalent à git status.
Le --global enregistre l’alias dans votre fichier ~/.gitconfig,
disponible dans tous vos projets. Sans --global, l’alias n’existe
que dans le dépôt courant.
Les alias essentiels
Section intitulée « Les alias essentiels »Ces alias couvrent 90 % du workflow quotidien :
# Navigation rapidegit config --global alias.st "status"git config --global alias.co "checkout"git config --global alias.sw "switch"git config --global alias.br "branch"
# Commitsgit config --global alias.ci "commit"git config --global alias.ca "commit --amend --no-edit"git config --global alias.cm "commit -m"
# Historiquegit config --global alias.lg "log --oneline --graph --all --decorate"git config --global alias.ll "log --oneline -15"git config --global alias.last "log -1 HEAD --stat"
# Diffgit config --global alias.df "diff"git config --global alias.ds "diff --staged"
# Stashgit config --global alias.ss "stash"git config --global alias.sp "stash pop"Résultat dans ~/.gitconfig
Section intitulée « Résultat dans ~/.gitconfig »Si vous ouvrez votre fichier ~/.gitconfig, vous verrez une section
[alias] :
[alias] st = status co = checkout sw = switch br = branch ci = commit ca = commit --amend --no-edit cm = commit -m lg = log --oneline --graph --all --decorate ll = log --oneline -15 last = log -1 HEAD --stat df = diff ds = diff --staged ss = stash sp = stash popAlias avec des commandes shell
Section intitulée « Alias avec des commandes shell »En préfixant avec !, vous pouvez exécuter n’importe quelle commande
shell :
git config --global alias.aliases "! git config --get-regexp alias | sed 's/alias\.\([^ ]*\)/\1\t=/' | sort"git aliases affiche maintenant la liste de tous vos alias, triée par
ordre alphabétique.
Autres exemples utiles :
# Ouvrir le dépôt distant dans le navigateurgit config --global alias.open "! git remote get-url origin | xargs xdg-open"
# Nombre de commits par auteurgit config --global alias.who "! git shortlog -sn --no-merges"
# Branches triées par dernier commitgit config --global alias.recent "! git branch --sort=-committerdate --format='%(committerdate:relative)%09%(refname:short)'"Lister et supprimer des alias
Section intitulée « Lister et supprimer des alias »Lister tous les alias
Section intitulée « Lister tous les alias »git config --global --get-regexp aliasSupprimer un alias
Section intitulée « Supprimer un alias »git config --global --unset alias.stAlias vs aliases shell (zsh/bash)
Section intitulée « Alias vs aliases shell (zsh/bash) »Vous pouvez aussi créer des alias dans votre shell (.bashrc,
.zshrc). Quelle approche choisir ?
| Critère | Alias Git (git config) | Alias shell (~/.zshrc) |
|---|---|---|
Préfixe git | Toujours requis (git lg) | Optionnel (glog) |
| Portabilité | Fonctionne partout (fichier .gitconfig) | Dépend du shell |
| Auto-complétion | Fonctionne nativement | Configuration supplémentaire |
| Commandes non-git | Impossible (sauf !) | Oui |
La recommandation : utilisez les alias Git pour les commandes Git (auto-complétion garantie) et les alias shell pour les raccourcis très courts ou les commandes combinées.
Exemples d’alias shell courants (zsh)
Section intitulée « Exemples d’alias shell courants (zsh) »# Dans ~/.zshrcalias g="git"alias gst="git status"alias gco="git checkout"alias gcm="git commit -m"alias gp="git push"alias gl="git pull"Dépannage : problèmes courants
Section intitulée « Dépannage : problèmes courants »| Symptôme | Cause probable | Solution |
|---|---|---|
git: 'lg' is not a git command | Alias non enregistré | Vérifiez avec git config --global alias.lg |
L’alias avec ! ne fonctionne pas | Guillemets mal échappés | Éditez ~/.gitconfig directement |
| Auto-complétion ne fonctionne pas sur un alias | Alias shell, pas Git | Convertissez en alias Git pour l’auto-complétion |
À retenir
Section intitulée « À retenir »git config --global alias.xx "commande"crée un raccourci réutilisable partout- Les alias essentiels :
st,co,br,ci,lg,ds,last - Le préfixe
!permet d’exécuter des commandes shell dans un alias - Les alias Git gardent l’auto-complétion native
- Éditez directement
~/.gitconfigpour aller plus vite