You can control the default behavior by setting push.default in your git config. push.default defines the action git push should take if no refspec is given on the command line, no refspec is configured in the remote, and no refspec is implied by any of the options given on the command line.
The possible values are:
nothing: do not push anything
matching: (default before Git 2.0) push all matching branches
All branches having the same name in both ends are considered to be matching.
upstream: push the current branch to its upstream branch (tracking is a deprecated synonym for upstream)
current: push the current branch to a branch of the same name
simple: (new in Git 1.7.11, default since Git 2.0) like upstream, but refuses to push if the upstream branch's name is different from the local one
Command line:
To view the current configuration:
```
git config push.default
```
To set a new configuration:
```
git config push.default current
```