Au-delà du défaut
git log est un petit langage de requête pour votre histoire. Avec les bons flags il produit des rapports de qualité dashboard, des pistes d'audit et des forensics de bugs.
Formats pretty
git log --pretty=oneline
git log --pretty=fuller
git log --pretty=format:'%h %ad %an %s' --date=short
git log --pretty=format:'%C(yellow)%h%Creset %C(cyan)%ad%Creset %s %C(green)(%an)%Creset' --date=short
git config --global alias.lg "log --pretty=format:'%C(auto)%h %ad %s %d' --date=short --graph"
Vue graphe
git log --graph --oneline --all --decorate
git log --graph --first-parent main
Filtrer par contenu
git log -S"FunctionName"
git log -G"regex.*pattern"
git log -L :myFunc:src/file.c
git log -L 100,150:src/file.c
Filtrer par métadonnées
git log --since=2.weeks --until=yesterday
git log --author='Alice'
git log --grep='hotfix' --grep='security' --all-match
git log --no-merges
git log --merges --first-parent main
git log --committer='@example.com'
Log restreint par chemin
git log -- src/parser/
git log --diff-filter=D -- secrets.env
git log --follow -- src/old/path.go
Comptage et stats
git shortlog -sne
git log --stat
git log --shortstat
git log --numstat
Parcours
git log --ancestry-path A..B
git log --boundary --left-right A...B
git log --reverse
git log --topo-order
git log --date-order
Erreurs courantes
Utiliser --all quand vous voulez --branches. Oublier --follow sur les fichiers renommés.
Range-diff pour séries
git range-diff main..topic-v1 main..topic-v2