【问题标题】:Update the fork Github更新分叉 Github
【发布时间】:2013-03-22 05:48:08
【问题描述】:

我已经分叉了一个远程仓库,它有 3 个分支

  1. 主人
  2. 一个
  3. b

但团队向遥控器添加了新分支。 而目前的分支是

  1. 主人
  2. 一个
  3. b
  4. c
  5. d
  6. e

但我的叉子只有 3 个分支。我应该如何更新我的 fork 以包含远程 repo 中存在的所有分支(包括新添加的分支)。

【问题讨论】:

    标签: git github


    【解决方案1】:

    将原始 repo 作为第二个远程添加到本地 repo:

    git remote add parentrepo <url>
    

    从中获取所有分支:

    git fetch parentrepo
    

    鉴于你所说的,git branch -a 应该给出(假设你有 origin 作为你的 fork 的别名,因为它是克隆时默认的)

    * master
    origin/master
    origin/a
    origin/b
    parentrepo/a
    parentrepo/b
    parentrepo/c
    parentrepo/d
    parentrepo/e
    

    您可以像对 origin 一样从 parentrepo 本地分支任何远程分支,和/或将它们直接推送到 origin。

    【讨论】:

    • 我们现在可以从 github 的 Web 界面执行此操作吗?
    【解决方案2】:

    现在,涉及两个步骤。从远程存储库中获取新添加的分支并将这些分支推送到您的 fork。

    要从远程存储库中获取新添加的分支,说原始的,这样做

    1. git remote add original {url_to_remote}
    2. git fetch original
    

    看到这个Pull branches from remote repository SO Link

    现在,我们已经在本地仓库中提取了远程分支。接下来我们要将这些分支发送到我们的 fork。

    1. git push -u origin {branch_name} // Origin is your fork
    

    【讨论】:

    • 您编辑了 OP 的问题,改变了含义。我怀疑他的问题是如何推送分支,他在问如何将最近添加的分支从父项目推回他自己的 fork 远程。
    • 谢谢@Sebastian..好心告诉我。我再次更新了这个问题。现在有意义吗?
    • hai @blunderboy 以正确的含义编辑了问题
    【解决方案3】:

    为了在团队移除远程分支而您没有更新时保护自己,我会执行 2 个命令:

    git remote prune origin
    

    git fetch origin
    

    【讨论】:

      猜你喜欢
      • 2020-01-29
      • 2011-06-23
      • 2013-04-18
      • 1970-01-01
      • 2018-03-03
      • 2012-10-05
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多