title: What does `only: -master` in gitlab-ci.yml match?
body: <p>We have a <code>.gitlab-ci.yml</code> file containing lines like</p>
  <pre><code>a_task:
    only:
      - /^production\/mybranch.*$/
  </code></pre>
  <p>which are clearly meant to match the target git ref.</p>
  <p>But we also have:</p>
  <pre><code>another_task:
    only:
      - master
  </code></pre>
  <p>My question is: does this &quot;<code>master</code>&quot; match a part of the git ref as well (so that a tag <code>my-master-123</code> would match, too) or is it a symbolic thing?</p>
  <p>The reason why am asking is that there is also:</p>
  <pre><code>third_task:
    only:
      - tags
  </code></pre>
  <p>That would have to be symbolic, right?</p>
  <p>Which would mean that the syntax does e.g. <strong>not</strong> support a branch named <code>tags</code>, right?</p>
  <h2>Update</h2>
  <p>Looks like there are <a href="https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic" rel="nofollow noreferrer">special keywords</a>, <code>tags</code> being one of them.</p>
  <p>So indeed that would mean that refs with those special names (<code>external</code>, <code>pipelines</code>, <code>tags</code>, <code>triggers</code>, ...) would not be supported.</p>