Il comando che tutti copiano
git log --all --graph --decorate --oneline
Anatomia
--all - include ogni branch e tag.
--graph - disegna il grafo parent/child.
--decorate - annota commit con nomi di branch e tag.
--oneline - shorthand per --pretty=oneline --abbrev-commit.
Formattazione migliore
git log --all --graph \
--pretty=format:'%C(yellow)%h%Creset %C(cyan)%an%Creset %s %C(green)(%cr)%Creset%C(red)%d%Creset' \
--abbrev-commit
Renderlo un alias
git config --global alias.lg "log --all --graph --pretty=format:'%C(yellow)%h%Creset %C(cyan)%an%Creset %s %C(green)(%cr)%Creset%C(red)%d%Creset' --abbrev-commit"
Filtraggio
git lg -20
git lg --since='2 weeks ago'
git lg --author='Jane'
git lg --grep='OAuth'
git lg -- src/checkout.js
Solo first-parent
git log --first-parent --oneline main
Il grafo completo per una feature
git log --graph --boundary main...feature/oauth
Visualizzatori grafici live
tig --all
gitk --all
Performance
git log --all --graph --oneline -n 100