Vodokan
Vodokan

Reputation: 793

git's analog of "hg pull"

In mercurial when I run hg pull I will get all of changes from the remote repository but this command won't update the local working dir. When I run hg update this command will apply the changes in the working dir.

In git when I run git pull the command will get and apply the changes in the working dir.

So my question is how to pull the changes (in git) from the remote repository but not applying them?

Upvotes: 0

Views: 908

Answers (1)

Tim Biegeleisen
Tim Biegeleisen

Reputation: 522732

I believe the command you are seeking is git fetch. From the documentation:

Fetch branches and/or tags (collectively, "refs") from one or more other repositories, along with the objects necessary to complete their histories. Remote-tracking branches are updated.

Git fetch loads all the changes from the remote without updating your actual local branches. In the blurb above, "remote-tracking" branches are local branches (yes, it's confusing) which track the state in the remote repository, but they are not your local branches.

Assuming you are on branch master, then:

git fetch origin          # updates origin/master
git merge origin/master   # updates your local master

Doing git pull origin master is equivalent to doing git fetch followed by git merge.

Upvotes: 2

Related Questions