Re: checkout -b remotes/origin/<branch> should not work
- From
Jeff King <peff@peff.net>
- Date
- May 14, 2017, 04:00 UTC
- Message-ID
- <20170514040048.evwtngo6bixtrput@sigill.intra.peff.net>
- In-Reply-To
- <CAGZ79kYACtA_q6kJ=gGYe02H-a9g_GV=kKLn8jy2ZZKvjxGYNQ@mail.gmail.com>
On Sat, May 13, 2017 at 08:52:37PM -0700, Stefan Beller wrote:
Show 7 quoted lines
> NEEDSWORK: > > checkout -b remotes/origin/<branch> should not work, unless force is > given (maybe?) > > (I just run into that, now I have a remote tracking branch that points > at my detached HEAD. Oh well.)
To be pedantic, you have a local branch with a funny name that points to your detached HEAD. :)
I think this problem extends beyond "remotes/". The worst is:
git checkout -b HEAD
but there are many confusing variants:
git checkout -b refs/heads/foo git checkout -b tags/v1.0
etc. Those are all perfectly legal names, but almost certainly not what the user intended. I think the plumbing should continue to allow them, but I wouldn't object to some common-sense think-o protections in the "checkout -b" plumbing (especially if it could be disabled for power users).
-Peff