The goal is so after doing git clone git@somewhere:something.git
The resulting something/.git/config will contain
[push]
default = tracking
without requiring the cloner to do cd something; git config push.default tracking so he/she won’t accidentally push all branches when pushing without argument (No, nobody reads the README).
Since it is difficult to enforce policy on the downstream or client side (which is dangerous, as knittl comments), the upcoming Git 2.0 recognizes that fact and will change the default push policy.
(The discussions on this date from early 2012, as illustrated in “
git pushcurrent branch“)It will go from the current default one:
To the new one, called “
simple“: