How to checkout a remote branch in Git?
Someone pushed a "new feature" branch to the shared repo:
git push -u new_feature_branch
Now, I would like to create a copy of this branch on my local machine in order to test the new feature.
What would be the easiest way to do this? (Do I need to fetch
/ pull
before checkout
?)
I generally find it unnecessary to use git fetch
. git pull
is sufficient. git pull
will synchronize your repository with the remote. The new_feature_branch will then be available.
git checkout new_feature_branch
will notice the branch in origin and create a new local tracking branch for you and switch to that branch.
git pull
git checkout new_feature_branch
The simplest way to do this is:
git fetch
git checkout -t origin/new_feature_branch
This is only done initially. From now on you can continue working with the branch as you do for the others you use.
You need to fetch upstream changes so your local repository includes the relevant objects ( git fetch --all
or git fetch <remote>
).
Afterwards you can perform a checkout using git checkout <branch>
(if you like to do it explicitly, you can type git checkout -b <branch> <remote>/<branch>
; the local name doesn't have to be the same as the remote). If you don't already have a local branch of that name, it will checkout the remote branch and track it.
As an alternative to this, you can use git pull <remote> <branch>
, but this will - with default settings - merge the remote branch into your current, which is probably not what you want.
下一篇: 如何在Git中检出远程分支?