git checkout -b refs/master origin/master
- From
- Martin <me@mfriebe.de>
- Date
- Jul 9, 2021, 12:40 UTC
- 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.