J'ai un alias Git qui s'étend à:
git log --graph --oneline --all --decorate
Selon man git log
il y a quelques options suspectes: --not
et --branches
; mais je ne peux pas le faire fonctionner correctement.
Comment dois-je modifier cela pour masquer les cachettes?
[~ # ~] fyi [~ # ~] : selon la question acceptée et commentaire = mon .gitconfig
alias ressemble maintenant à ceci:
[alias]
l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD
Au lieu de faire --all
puis en essayant de filtrer les cachettes, ne les incluez jamais en premier lieu:
git log --branches --remotes --tags --graph --oneline --decorate
Le principal problème qui survient en essayant de les filtrer par la suite est que si la cachette est le dernier commit sur cette branche (parce que même si ce n'est pas le head
de la branche, c'est toujours le descendant le plus récent) , il peut en fait filtrer toute la branche du journal, ce qui n'est pas ce que vous voulez.
Mon alias:
[alias]
l = log --oneline --decorate --graph --exclude=refs/stash
Dans ce cas, vous pourrez utiliser ces formulaires sans afficher la cachette:
git l
pour la branche actuellegit l feature234
pour une branche spécifiquegit l --all
pour l'historique globalDu manuel:
--exclude = <motif global>
N'incluez pas les références correspondant à celles que les autres --all, --branches, --tags, --remotes ou --glob prendraient en compte autrement.
Notez que réponse d'Andrew ne fonctionnerait pas pour se cacher StGit1.) branches <branch>.stgit
(de la version 0.15 de StGit) qui autrement jette la sortie la rendant inutilisable.
Actuellement j'utilise la solution suivante:
$ git log --graph --oneline --decorate \
$(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ |
grep -v "\.stgit$")
1.) StGit ("Stacquitté Git") fournit des fonctionnalités de type Quilt/mq à Git (c'est-à-dire pousser/sauter des correctifs vers/depuis une pile).