Some places use branches for versions instead of tags.
Some places religiously follow git flow’s branch rules.
Some just have a master production branch and feature branches.
Some have staging branches too.
In this way, branches become a social construct, as the use (and thus meaning) of a branch can change from organization (eg, small social circle) to organization.