Subject: Re: Please discuss: what "git push" should do when you do not say what to push?

From: Jakub Narebski <[email-masked]>
Date: Tue, 20 Mar 2012 05:04:22 -0700 (PDT)

Antony Male <[email-masked]> writes:

> This is my 2 cents from helping out on #git.  I don't consider
> workflows at all, only how to minimise confusion for new users when
> they're trying to understand how git works.
> 
> We occasionally get users who are having trouble understanding why the
> argument-less form of 'git pull' is failing, due to lack of tracking
> configuration.  We explain that the tracking config is git's way of
> "connecting" local and remote branches, and how to use 'git push -u'
> and 'git branch --set-upstream' appropriately.
> 
> This is all well and good -- they've discovered that local and remote
> branches are separate, that they aren't "magically" joined, that
> there's a bit of configuration data which "connects" the two, and how
> to manipulate it.
> 
> Users then assume that argument-less form of 'git push' uses the same
> mechanism.  To then discover that it (by default) uses a different way
> of "connecting" local and remote branches is often confusing [1].
[...]

The "matching" behavior is intende for non-symmetrical situation of a
workflow where each user has its own separate public publishing
repository, but can pull from many repositories from other developers
(but never from one's own).

The situation is assymetrical (even more that "pull" and "push" for
single upstream repository, in a shared central repository case), so
configuration is assymetrical.

-- 
Jakub Narebski