Get new upstream branch with git

git, git-branch

Solution

This should be enough

# I prefer fetching everything from upstream
git fetch upstream

# Then I track the new remote branch with a local branch
git checkout -b 1.6.x --track upstream/1.6.x
git push origin 1.6.x

If there are update issues like:

fatal: Cannot update paths and switch to branch '1.6.x' at the same time. 
Did you intend to checkout 'upstream/1.6.x' which can not be resolved as commit?"

And if this doesn't work either:

git checkout upstream/1.6.x -b 1.6.x

Then a simpler version is:

# let's create a new local branch first
git checkout -b 1.6.x
# then reset its starting point
git reset --hard upstream/1.6.x

What the OP Everett Toews has to do in his case was:

Ultimately I had to explicitly add the upstream branch with

git remote add --track 1.6.x upstream-1.6.x https://github.com/jclouds/jclouds 

and then:

git pull upstream-1.6.x 1.6.x

Problem

I've forked a repo and all of my work goes into that fork (my origin) and I merge branches upstream with pull requests. Pretty standard. But now there's a new branch in the upstream repo and I can't quite figure out how to get that new branch locally and then push it to my origin. Here is my situation. ``` $ git remote show origin * remote origin Fetch URL: git@github.com:rackspace/jclouds.git Push URL: git@github.com:rackspace/jclouds.git HEAD branch: master Remote branches: 1.5.x tracked master tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date) $ git remote show upstream * remote upstream Fetch URL: https://github.com/jclouds/jclouds Push URL: https://github.com/jclouds/jclouds HEAD branch: master Remote branch: master tracked Local ref configured for 'git push': master pushes to master (up to date) ``` I know that there is a 1.6.x branch in jclouds/jclouds and I want to get that branch locally and then push it to rackspace/jclouds. I've tried this command ``` $ git fetch upstream 1.6.x From https://github.com/jclouds/jclouds * branch 1.6.x -> FETCH_HEAD ``` And it looks like it's fetched the branch but I don't see it in `git remote show` or `git branch -a` so I'm unable to setup a local tracking branch. What am I missing?

Original source