git fetch fetches commits from the target branch that is not in our current local branch and stores them in our local repository.
It does not merge. Which means we have the changes from target branch but not yet merged to our local branch.
git pull does both
git fetch and
Which means changes from target branch will be fetched and merged to our local branch.