GIT - 13 Historique et création de nouvelles commandes avec alias

Dans cette leçon, nous allons aller plus loin avec git log en lui ajoutant plusieurs options utiles, puis créer un alias Git pour transformer cette longue commande en raccourci facile à retenir. Je suis dans le repository test, sur la branche master, avec un working directory propre et deux commits dans l'historique.

Personnaliser git log avec ses options

Un simple git log affiche nos deux commits. Mais en consultant l'aide via git help log, on découvre énormément d'options. Combinons les plus utiles :

git log --oneline --graph --decorate --all
  • --oneline : une ligne par commit (SHA court + message)
  • --graph : représentation graphique ASCII de l'historique
  • --decorate : affiche les labels (branches, tags, HEAD)
  • --all : inclut toutes les branches, pas seulement la courante

Le résultat est une vue radicalement plus lisible et informative de l'historique. Le problème : c'est long à taper à chaque fois. Bien que Git ne propose pas de commande history native, on peut en créer une nous-mêmes via un alias.

Créer un alias Git permanent

Un alias Git est essentiellement une nouvelle commande qui est une représentation abrégée d'une commande existante plus longue. On le configure avec git config :

git config --global alias.hist "log --oneline --graph --decorate --all"

L'option --global rend l'alias disponible pour tous vos repositories (au niveau user) et non uniquement celui en cours. La clé alias.hist définit le nom hist de notre nouvelle commande. Pour vérifier qu'il est bien enregistré, listez la config :

git config --global --list

Vous devriez retrouver votre entrée alias.hist. Pour l'utiliser, il suffit de taper git hist et vous obtenez exactement le même résultat que la longue commande de départ. Petit bonus : les alias acceptent des paramètres supplémentaires, par exemple git hist coucou.html filtrera l'historique sur ce seul fichier.

En résumé

Cette leçon explore les capacités avancées de `git log` pour consulter l'historique des commits avec des options comme `--oneline`, `--graph` et `--all` qui fournissent une vue synthétique et graphique. Elle enseigne ensuite comment créer des alias Git personnalisés avec `git config --global alias` pour raccourcir et simplifier les commandes fréquemment utilisées.

Points clés

  • git log --oneline affiche un commit par ligne avec un résumé concis
  • --graph visualise l'historique des branches sous forme graphique
  • --all permet de voir l'historique de toutes les branches du repository
  • Les alias Git se créent avec : git config --global alias.nom 'commande'
  • Les alias acceptent des paramètres supplémentaires lors de leur invocation
  • La portée --global rend l'alias disponible pour tout le système utilisateur

Questions fréquentes

Comment afficher l'historique Git sur une seule ligne par commit ?

Utilisez l'option `--oneline` avec git log : `git log --oneline`. Pour ajouter une représentation graphique des branches, combinez-la avec `--graph` : `git log --oneline --graph`. Pour voir toutes les branches, ajoutez `--all` : `git log --oneline --graph --all`.

Qu'est-ce qu'un alias Git et comment l'utiliser ?

Un alias Git est une commande personnalisée qui raccourcit une commande existante plus longue. Pour en créer un, utilisez : `git config --global alias.hist 'log --oneline --graph --all'`. Ensuite, tapez simplement `git hist` pour exécuter la commande complète. Vous pouvez aussi passer des paramètres supplémentaires : `git hist fichier.txt`.

Quelle est la différence entre une alias locale et globale ?

L'option `--global` lors de la création d'un alias rend celui-ci disponible pour tous les repositories du système utilisateur. Sans cette option, l'alias ne s'applique qu'au repository courant (configuration locale).