From d2d9ae15e2c76f17c5870205b390354b509d0d97 Mon Sep 17 00:00:00 2001
From: Junio C Hamano
Note: If no explicit refspec is found, (that is neither on the command line nor in any Push line of the corresponding remotes file---see below), then all the -refs that exist both on the local side and on the remote +heads that exist both on the local side and on the remote side are updated.
tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.
A parameter <ref> without a colon pushes the <ref> from the source @@ -331,7 +331,7 @@ the remote repository.
Instead of naming each ref to push, specifies that all - refs be pushed. + refs under $GIT_DIR/refs/heads/ be pushed.