Home How to: change GIT push.default and why you should do it
Post
Cancel

How to: change GIT push.default and why you should do it

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 means git 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 means git push will push only the current branch to the one that git 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.

 

This post is licensed under CC BY 4.0 by the author.