Github:将上游分支导入fork

我有一个来自github上的一个项目( upstream )的fork( origin )。 现在上游项目已经添加了一个新的分支,我想导入到我的叉子。 我怎么做?

我试着检查远程并在上面创build一个分支,但是这样configuration分支的方式是git push试图推向upstream

 git checkout upstream/branch git checkout -b branch 

编辑

也许这并不清楚,但我想将分支添加到我的本地存储库,所以我可以通过git push将它推到origin (我的叉)。 因为上游存储库通常是只读的,所以您可以将其分配给贡献者。

所以我基本上要检查一个不存在的分支,它的内容将从upstream被引入。

  • 确保你已经将新的上游分支拉入本地回购
    首先,确保你的工作树是干净的(提交/隐藏/恢复任何更改)
    然后,做git fetch upstream来检索新的上游分支

  • 创build并切换到新的上游分支 (本例中名为newbranch )的本地版本
    git checkout -b newbranch upstream/newbranch

  • 当您准备将新分支推送到原始位置时
    git push -u origin newbranch

-u开关设置跟踪到指定的远程(在本例中为origin

我会用

 git checkout -b <new_branch> upstream/<new_branch> 

我也遇到了麻烦,谷歌把我带到了这里。 解决scheme不起作用。 我的问题是,当我添加我的上游,它设置我的gitconfiguration只获取主,而不是所有分支。 例如它看起来像这样

 [remote "somebody"] url = git@github.com:somebodys/repo.git fetch = +refs/heads/master:refs/remotes/upstream/master 

编辑.git / config如下解决了我的问题

 [remote "somebody"] url = git@github.com:somebodys/repo.git fetch = +refs/heads/*:refs/remotes/upstream/* 

--track

 git branch --track branch upstream/branch