Thread (5 messages) flat view 5 messages, 5 authors, 2016-08-11

Re: Rationale for the "Never commit to the right side of a Pull line" rule

From: Karl Hasselström <hidden>
Date: 2016-08-11 19:47:42

On 2006-10-26 10:11:50 -0700, Linus Torvalds wrote:
But it's a good rule in general, just because it makes a certain
common workflow explicit. In fact, we really probably should start
to always use the "refs/remote/origin/HEAD" kind of syntax by
default, where you can't even _switch_ to the branch maintained in
the remote repository, because it's not a real branch locally.
Seconded. I really like having remote branches in their own namespace
where I can't confuse them with my local branches by mistake -- and
that the branches of different remotes end up in different separate
namespaces.
So normally you should consider the "origin" branch to be a pointer
to WHAT YOU FETCHED LAST - and that implies that you shouldn't
commit to it, because then it loses that meaning (now it's "what you
fetched last and then committed your own work on top of", which is
something totally different).
Defaulting to --use-separate-remotes would mean not having to explain
this to every single confused new user. :-)

It feels like the right thing to do, because it reduces the amount of
things a user has to know about git internals. Until you get to the
level where you can do brain surgery on your repo, the remotes/
branches will really _be_ your local read-only mirror of remote
branches, and you don't have to be aware of the possibility that they
could get out of sync because of local commits.

-- 
Karl Hasselström, kha@treskal.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help