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?