GitHub blocks branch and tag names which begin with
Under the hood, all Git refs begin with a prefix (
refs/heads/ for branches and
refs/tags/ for tags). In typical use, though, users rarely see these prefixes, so they're silently handled by GitHub, the Git client, and other tools. When a similar string is used as the beginning of the visible part of the branch or tag name, this results in ambiguity: did the user intend
refs/heads/refs/heads/feature? In nearly all cases,
refs/ in front of a branch or tag name is accidental and becomes a problematic surprise later.
This change blocks new introductions of such names. Repositories with existing branches named this way can still push updates to those branches.