Open
Description
There seem to be 3 variations of the git push
command:
- Use
git push origin branchname
and always specify the remote and the branch - Use
git push -u origin branchname
on the first push to setorigin
as the default and then just usegit push
- Set the
pushdefault
toorigin
in.git/config
and just usegit push
The first method is the one suggested in the devguide
(e.g. in the submitting section); the second is also documented in the pushing changes section; the third is apparently somewhat recent and not yet documented.
The pushdefault is configured by adding to .git/config
:
[remote]
pushdefault = origin
Where origin
refers to the user's fork of cpython. AFAICT almost all the pushes should go to origin
.
Each method has pros and cons:
First method:
- pros: explicit is better than implicit
- cons: longer to type, harder to remember, could get the arg names/order wrong
Second method:
- pros: still explicit but shorter to type for the following pushes
- cons: same as above but only applies to the first push on each branch
Third method:
- pros: easier to remember, shorter to type, works like
hg push
- cons: less explicit
The question is: which one should we adopt as the recommended method?