3

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

  1. 掌握
  2. 一种
  3. b

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

  1. 掌握
  2. 一种
  3. b
  4. C
  5. d
  6. e

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

4

3 回答 3

5

将原始 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

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

于 2013-04-01T07:12:42.147 回答
2

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

要从远程存储库中获取新添加的分支,说原始的,请执行

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

请参阅此从远程存储库中提取分支 SO Link

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

1. git push -u origin {branch_name} // Origin is your fork
于 2013-04-01T08:06:41.337 回答
1

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

git remote prune origin

git fetch origin
于 2015-08-05T15:11:47.503 回答