How to change GIT push.default and why you should do it.
If you are working with git you need to configure the push.default behaviour
To make sure that git will not merge all my different branches accidentally I choose to set my default to simple.
Its’ quite easy to set up this you just type:
git config --global push.default simple
If you do not change push.default you will get the below text when you try to push git with git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from ‘matching’ to ‘simple’. To squelch this message
and maintain the current behavior after the default changes, use:
git config –global push.default matching
To squelch this message and adopt the new behavior now, use:
git config –global push.default simple
See ‘git help config’ and search for ‘push.default’ for further information.
(the ‘simple’ mode was introduced in Git 1.7.11. Use the similar mode
‘current’ instead of ‘simple’ if you sometimes use older versions of Git)
The stackoverflow user: hammar describes it very well below:
It’s explained in great detail in the docs (search for
push.default
on the page), but I’ll try to summarize:
matching
meansgit push
will push all your local branches to the ones with the same name on the remote. This makes it easy to accidentally push a branch you didn’t intend to.simple
meansgit push
will push only the current branch to the one thatgit pull
would pull from, and also checks that their names match. This is a more intuitive behavior, which is why the default is getting changed to this.This setting only affects the behavior of your local client, and can be overridden by explicitly specifying which branches you want to push on the command line. Other clients can have different settings, it only affects what happens when you don’t specify which branches you want to push.