繁体   English   中英

Github:将上游分支导入fork

[英]Github: Import upstream branch into fork

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

我尝试检查远程并在其上创建一个分支,但是配置分支的方式是git push试图推送到upstream的方式:

git checkout upstream/branch
git checkout -b branch

编辑

也许这还不清楚,但我想将分支添加到我的本地存储库,这样我就可以通过git push将它推送到origin (我的叉子)。 因为上游存储库通常是只读的,你 fork 它来贡献。

所以我基本上想检查origin上一个不存在的分支,其内容将从upstream拉入。

  1. 确保您已将新的上游分支拉入本地仓库

    • 首先, 确保您的工作树是干净的 (提交/存储/恢复任何更改)
    • 然后, git fetch upstream以检索新的上游分支
  2. 创建并切换到新上游分支newbranch )的本地版本

    • git checkout -b newbranch upstream/newbranch
  3. 当您准备将新分支推送到原点时

    • git push -u origin newbranch

-u开关设置跟踪到指定的远程(在此示例中, origin

我会用

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

我也遇到了麻烦,谷歌把我带到了这里。 然而,解决方案不起作用。 我的问题是当我添加我的上游时,它将我的git配置设置为仅获取master,而不是所有分支。 这看起来像这样

[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/*

我有一个稍微复杂的场景,我已经在我的分支中定义了一个upstream (来自规范回购)但需要从不同的分支中签出一个分支。 要完成这项工作,过程略有不同。 这是我最终得到的配置:

[remote "origin"]
url = git@github.com:<your_user/org>/<repo>.git
fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true

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

[remote "other_user"]
url = git@github.com:<other_user>/<repo>.git
fetch = +refs/heads/*:refs/remotes/<other_user>/*

现在您也可以从<other_user>分支中签出一个分支。

git fetch <other_user> <branch>
git checkout -b <branch> <other_user>/<branch>

这将为您提供一个派生自 <other_user> 分支的本地分支。

要推送该本地分支,我必须使用我的推送命令来具体说明。

git push origin <branch>

以下步骤适用于我(假设上游分支名称是branch ):

$ git fetch upstream
$ git checkout branch
$ git push origin

--track

git branch --track branch upstream/branch

从用户界面:

在分支 go 到 Branches 中,单击“New Branch”。 在那里你会 select 来源 - 无论是你的叉子还是上游。 Select 上游和 select 您要“导入”的分支。 创建同名分支。 完毕。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM