Risposte:
Prova l'opzione decorare.
git log --graph --all --decorate
Annota i commit indicati da tag o rami.
--pretty
te puoi usare %d
dove vuoi le 'decorazioni'.
git log --graph --all --oneline --decorate
. Ho un alias git graph
che usa --pretty
(per mostrare anche altre cose, come autore e data), ma %d
non mi dà i colori di --decorate
. Per ora uso il giallo per tutti i miei riferimenti, sai come posso lasciare che --pretty
la %d
stringa erediti i colori di --decorate
?
--pretty
formati, aggiungi %C(auto)
prima dell'elemento ciò che dovrebbe essere colorato. ad es.git log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Stavo cercando qualcosa di simile a questo, ma volevo sapere quale ramo è stato fatto un cambiamento. Speriamo che questa risposta possa essere utile anche agli altri.
Sto studiando un rischio con la blackbox
crittografia, in cui un repository e i suoi rami / tag potrebbero non essere disponibili per gli attuali admins
quando un numero sufficiente di utenti lascia un progetto e la keyrings
directory non è stata basata religiosamente al di fuori del master)
Ho scoperto che la risposta di seguito è stata utile dove la keyrings
directory non è stata aggiornata dal master ...
Fondamentalmente l'aggiunta --source
era ciò di cui avevo bisogno per mostrare i rami / tag. L'aggiunta --name-only
mostrerà anche quale file è stato effettivamente modificato.
cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings
--source
solo dà HEAD
per tutti gli impegni. In combinazione con --all
questo sembra distinguere tra diversi rami, ma le informazioni visualizzate non sono quelle che mi aspetto: per i commit che ho fatto master
, invece di ottenere refs/heads/master
, ottengo un ramo privato ( refs/remotes/origin/…
). Ho il sospetto che fusioni e / o nuove filiali facciano Git
perdere informazioni sulla cronologia.
--all
, posso filtrare i rami con --branches --remotes=<pattern>
, ma non appena due rami vengono uniti insieme, Git non ha più le informazioni su quale è stato eseguito il commit al termine.
Se ti capita di usare oh-my-zsh come terminale, allora sono disponibili molti alias git. Tutto ciò può essere visto nel loro repository oh-my-zsh / plugins / git . Se non usi questo terminale, puoi semplicemente prendere gli alias e incollare quelli che ti piacciono nel tuo ambiente.
La risposta accettata presenta il git log --graph --all --decorate
comando, che è disponibile come glgga
alias in oh-my-zsh.
Personalmente preferisco l' glods
alias che si traduce in:
git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
git
aggiornamento.