よくpushの反対はpullコマンドではなくfetchコマンドだと言うがそれも違うと思う。
pushは「ローカルレポジトリのブランチ→リモートレポジトリのブランチ」へ変更を反映させる。
しかしfetchは「リモートレポジトリのブランチ→ローカルレポジトリのブランチ」に変更を反映させるコマンドではなく、「リモートレポジトリのブランチ→ローカルレポジトリのリモート追跡ブランチ」に変更を反映させるコマンドである。
まとめると、こう。
【ローカルレポジトリ】 【リモートレポジトリ】
push
ブランチ ──────────────→ ブランチ
(master) (master)
↑ ┌ - - - pull - - ┐ │
│ merge 両方実行 │ │
│ fetch │
リモート追跡ブランチ ←──────────┘
(remotes/origin/master)