title: git log suppress refs matching specified pattern
body: <p>I regularly use the following <code>git-log</code> command:</p>
  <pre><code>git log --oneline --graph --decorate --all
  </code></pre>
  <p>The command is perfect for me, with one exception. I maintain a set of <code>refs</code> in <code>refs/arch/</code> that I want to keep around (&quot;arch&quot; stands for &quot;archive&quot;), but I do not want to see them every time I look at my git log.  I don't mind them showing up if they are an ancestor of an existing <code>branch</code> or <code>tag</code>, but I really do not want to see series of commits that <em>would not otherwise</em> show up in the git log but for the fact that they are in the commit history of a given <code>refs/arch/*</code> <code>ref</code>.</p>
  <p>For example, in the image below, the left-hand side is an illustration of what I see currently when I run <code>git log --oneline --graph --decorate --all</code>.  As you can see, the commit referred to by <code>refs/arch/2</code> would not show up in the log if that <code>ref</code> didn't exist. (Assume there are no <code>refs</code> that are <em>not</em> shown in the left-hand side image.) Now, the right-hand side is an illustration of two alternative log graphs, either of which would be perfectly fine.  I don't mind seeing anything matching <code>refs/arch/*</code> so long as it is in the commit history of a <code>branch</code> or <code>tag</code>. But, in the image below, I definitely do not want to see the commit referred to by <code>refs/arch/2</code>.</p>
  <p><img src="https://i.stack.imgur.com/DdeSC.png" alt="Illustration of question" /></p>
  <p>How can my <code>git-log</code> command be modified to suppress <code>refs/arch/*</code> in either of the senses depicted in the illustration?</p>