Warm tip: This article is reproduced from serverfault.com, please click

What is the difference between 'git pull' and 'git fetch'?

发布于 2008-11-15 09:51:09

What are the differences between git pull and git fetch?

Questioner
pupeno
Viewed
0
Greg Hewgill 2020-06-24 05:37:56

In the simplest terms, git pull does a git fetch followed by a git merge.

You can do a git fetch at any time to update your remote-tracking branches under refs/remotes/<remote>/.

This operation never changes any of your own local branches under refs/heads, and is safe to do without changing your working copy. I have even heard of people running git fetch periodically in a cron job in the background (although I wouldn't recommend doing this).

A git pull is what you would do to bring a local branch up-to-date with its remote version, while also updating your other remote-tracking branches.

From the Git documentation for git pull:

In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.