How are "git fetch" and "git pull" different?

git fetch vs git pull

When it comes to updating your repository with changes that have been pushed to the remote copy by other members of your team, you'll be able to use one of two commands:

We'll look at the differences between them and why you'd choose one over the other in certain scenarios.


git fetch allows you to retrieve updated changes from the remote repository and review them, without affecting your local working copy. This is useful if you just wish to take a look at what your team is working on, but keep your own code exactly as it is.

You just need to run the following command:

git fetch origin

Where origin is the name of the remote repository you're connecting to. Therefore, you can run git fetch as often as you like without any adverse affects to your own code.


git pull retrieves updated changes from the remote copy, but unlike git fetch, it also automatically merges them into your own work.

This is useful when you're working on the same feature as one or more of your team members, and you want to be sure you're all working on the same version of your code.

To take advantage of this feature, simply run:

git pull

Developers normally run git pull less often than git fetch, perhaps at the start of the day, or when they start working on a new feature.

Proudly powered by Katapult. Running on 100% renewable energy.