更新 Github 上的分支(fork)

3
我已经复制了一个远程代码库,它有3个分支:
  1. master
  2. a
  3. b
但是团队添加了新的分支到远程仓库。现在的分支是:
  1. master
  2. a
  3. b
  4. c
  5. d
  6. e
但是我的复制版本只有3个分支。我该如何更新我的复制版本以包含远程仓库中所有的分支(包括新增的分支)?
3个回答

5
将原始仓库添加为您本地仓库的第二个远程仓库:
git remote add parentrepo <url>

从中获取所有分支:
git fetch parentrepo

根据您的说法,假设您在克隆时使用默认别名origin,则git branch -a应该会显示以下内容:
* master
origin/master
origin/a
origin/b
parentrepo/a
parentrepo/b
parentrepo/c
parentrepo/d
parentrepo/e

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

现在我们可以通过Github的Web界面来完成这个操作吗? - Vasif

2
现在,需要完成两个步骤。从远程仓库获取新添加的分支,将这些分支推送到您的 fork 中。
要获取来自远程仓库(原始仓库)的新添加的分支,请执行以下操作:
1. git remote add original {url_to_remote}
2. git fetch original

请看这个链接,了解从远程存储库拉取分支的方法。

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

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

2
你修改了楼主的问题,改变了它的意思。我怀疑他的问题不是如何推送分支,而是如何将父项目中最近添加的分支推回到他自己的分支远程仓库中。 - Sébastien Dawans
谢谢@Sebastian的指点,他很好心地告诉了我。我又更新了一遍问题,现在有意义了吗? - Sachin Jain
嗨 @blunderboy,我已经修正了问题,给出了正确的含义。 - Jordy S Chemparathy

1

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

git remote prune origin

git fetch origin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接