Re: [PATCH/RFC] Convenient support of remote branches in git-checkout
From: Junio C Hamano <hidden>
Date: 2016-08-11 20:00:30
Josef Weidendorfer [off-list ref] writes:
quoted
Then "git checkout origin/next" would always mean "I want to switch to the branch I use to hack on the branch 'next' Junio has". Do it once and you will get exactly my tip, hack on it, switch out of it and then do it again and you won't lose your previous work but just switch to that branch.Ah, now I understand your thinking. I admit it has a compelling elegance. However. Would it not be confusing for newbies (and not only for them) to first reference the remote branch with "origin/next", and afterwards, you get your own development branch by using the exactly same name?
In that example, the user types "git checkout origin/next". I
do not think there is any confusion.
You come from git background from the era git checkout did _not_
have this magic (in other words, "today"), so you implicitly see
remotes/ prefixed in front of the "origin/next" string there.
But new people do not see remotes/ prefixed there. To them, the
example command line says "Now I want to be on my 'origin/next'
branch", and there is nothing 'remote' about it.
The magic under discussion happens to create your 'origin/next'
branch automagically from 'remotes/origin/next' when it exists,
but that can be transparent to the user [*1*].
Well, your original magic did not propose it that way, but I
twisted it.
[Footnote]
*1* This is in line with what I wanted to say in my earlier "if
I were redoing git from scratch" message when I talked about
making "remotes" less visible.