In this tutorial we are going to explain an important concept when using Git. In particular we will try to show you the difference between local branch and remote branches.
Git is distribuited and it could have several remote branches.
We will try to explain more than one alternative how to checkout remote branches.
Supose there is a pushed a branch called
test which was created with
git push origin test to a shared
You can use
git branch -r to verify that the remote git branches exists.
Solution 1: Fetching and checkout
To use the remote branch
test you can just do:
git fetch git checkout test
git checkout test will NOT work in newer git if you have multiple remotes.
If you are using a newer git version try:
git checkout -b test origin/test
Solution 2: Alternative way of fetching and checkout
To fetch a branch, you simply need to:
git fetch origin
This will fetch all of the remote branches for you. You can see the branches available for checkout with:
git branch -v -a
With the remote branches in hand, you now need to check out the branch you are interested in, giving you a local working copy: git checkout -b test origin/test
Create a local branch and fetch
In this case, you need to create a local
test branch which will
track the remote
$ git branch test origin/test
Common Error: fatal: git checkout: updating paths is incompatible with switching branches
If you are trying to checkout a remote branch using -b and from origin you could get the following error:
$ git checkout -b remote_branch origin/remote_branch fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'origin/remote_branch'
If you receive this message, you must first do a:
git fetch origin git checkout remote_branch