Git Pull VS Git Fetch Explained - what's the difference and which do you use when?

In short: git pull = git fetch + git merge

It’s always perfectly safe to do a git fetch and it won’t change your local repository.

But when you run git pull, Git will also try to intelligently perform a git merge - and in the process, it will merge all the upstream commits without asking you to individually verify them.

Here’s a good chart to help you understand what happens when you run each of the most common Git command:

Source: Oliver Steel’s blog