poke poke - 1 month ago 18
Git Question

Github: Import upstream branch into fork

I have a fork (

origin
) from a project (
upstream
) on github. Now the upstream project has added a new branch, I want to import into my fork. How do I do that?

I tried checking out the remote and creating a branch on top of that, but that configures the branch the way that
git push
is trying to push to the
upstream
:

git checkout upstream/branch
git checkout -b branch


edit



Maybe that wasn't clear, but I want to add the branch to my local repository, so I can push it to
origin
(my fork) via
git push
. Because upstream repositories are usually read-only and you fork it to contribute.

So I basically want to checkout a non-existent branch on
origin
whose contents will be pulled in from
upstream
.

Answer
  • Make sure you've pulled the new upstream branch into your local repo:
    First, ensure your working tree is clean (commit/stash/revert any changes)
    Then, do git fetch upstream to retrieve the new upstream branch

  • Create and switch to a local version of the new upstream branch (which is named newbranch in this example):
    git checkout -b newbranch upstream/newbranch

  • When you're ready to push the new branch to origin:
    git push -u origin newbranch

The -u switch sets up tracking to the specified remote (in this example, origin)