From: Martin Date: Fri, 09 Jul 2021 12:40:29 GMT Subject: git checkout -b refs/master origin/master Message-ID: <71d3662c-411b-88aa-5cfc-b2f86a067507@mfriebe.de> Just curious.. "refs/master" is allowed as local branch name (git checkout / git branch / git switch) Is that intentionally allowed?  git for-each-ref 6faf346455d0a024cb1edf2d64fc4c42b450c53d commit refs/heads/refs/master  git for-each-ref --format="ref=%(refname)" ref=refs/heads/refs/master Especially the effect on git for-each-ref --format="ref=%(refname:lstrip=-1)" master You only get part of the branch name. Because "lstrip" does not distinguish between the / as separator in the refs, and the "/" as part of the name.