In order to push all your branches, use the following command
Say, the remote is "origin":
$ git push REMOTE '*:*'
$ git push REMOTE --all
In order to push all your tags:
$ git push REMOTE --tags
Also, these things can also be done with the help of this single command:
$ git push REMOTE --mirror
Note that: --mirror, will push your remotes as well, so this might not be exactly what you want.