Web lists-archives.com

Re: checkout -b remotes/origin/<branch> should not work

On Sat, May 13, 2017 at 08:52:37PM -0700, Stefan Beller wrote:

> 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