Their is a difference.
Please note, in entire of git, their are ONLY 2 commands which 'talk' to the remote (which means github.com public repo).
This talk helps sync, and check differences in local dir and remote
the commands are -
->git pull
->git push
_>git pull talks with remote. It checks for differences.
whereas, merge, does no talk with remote.
pull is a command, which executes code in git bash, and talks with remote.
merge is a command, which executes code in git bash, does 'no talk' with remote. It executes code locally only.
merge ->locally merges your current changes/divergence with 'last downloaded/pulled remote setup'
pull -> refreshes that 'remote setup'.