I regularly use the following git-log command:
git log --oneline --graph --decorate --all
The team is perfect for me, with one exception. I maintain a set of refs in refs/arch/ that I want to keep ("arch" means "archive"), but I don't want to see them every time I look at my git log. I do not mind their appearance if they are the ancestors of an existing branch or tag , but I really do not want to see a series of commits that would not otherwise appear in the git log, but for the fact that they are in the commit history of the given refs/arch/* ref .
For example, in the image below, the left side is an illustration of what I am currently seeing when I run git log --oneline --graph --decorate --all . As you can see, the commit referenced by refs/arch/2 will not appear in the log if that ref does not exist. (Assume there are no refs in the image on the left). Now the right part is an illustration of two alternative log schedules, each of which would be completely accurate. I don't mind seeing anything matching refs/arch/* if it is in the history of a branch or tag commit. But in the image below, I definitely don't want to see the commit referenced by refs/arch/2 .

How can my git-log command be modified to suppress refs/arch/* in any of the feelings depicted in the illustration?
source share