So I have just learned that git pull does several things
fetchto update local remote mirrormergeto merge local branch with updated local remote mirror
But what about push does it do several things under the hood similar to pull ?
Not really.
In a very technical sense, yes, it does multiple things, but unlike pull (where you might reasonably do fetch and merge as two different actions) all of the stuff that push does is generally always done together:
Doing #3 wouldn't really make sense without also doing #1 and #2 - and doing #1 and #2 wouldn't really do anything without also doing #3.
push never merges - you either overwrite the remote ref or your push fails.
You can reed the official documentation of git at
http://git-scm.com/docs/git-push
There you can see, that
git push
does not do several things step by step