如何使用我的fork同步所有新的上游分支?

时间:2018-05-07 18:09:15

标签: git github

前段时间我分叉了一个git repo。从那以后,对主分支进行了几次新的提交。 https://help.github.com/articles/syncing-a-fork/解释了如何将上游主分支与本地主分支同步,然后将这些提交推送到我的分支。

但是它没有提到如何同步新的上游分支。当我最初在github上分叉项目时,看起来它会带来所有当前的分支。

我已经看过有关如何同时同步一个分支的说明。有没有办法同时同步所有新旧分支?

我还没有对我的叉子做出任何提交。因此,我正在寻找快进同步。

编辑: 另一种说法:

我想要

git ls-remote origin

匹配

git ls-remote upstream

这将包括分支和标签。

2 个答案:

答案 0 :(得分:2)

  

但是它没有提到如何同步新的上游分支

您需要做的就是:

git fetch upstream

这将获取或更新所有上游分支,并将它们存储在上游命名空间中的本地存储库中。

您可以通过以下方式查看这些分支:

git branch -avv
  它并没有让我把所有上游分支推到原点。

为此,您需要根据要推送到原点的任何上游分支创建一个本地分支:

git branch abranch upstream/abranch
gut push -u origin abranch 

请参阅" git - create local branch from existing remote branch"。

所有分支执行此操作,请参阅" Pull all branches from remote through it's mirror bare remote"。
或者,更好:" Track all remote git branches as local branches"。
只需使用" upstream"而不是origin

答案 1 :(得分:0)

执行以下操作:

  1. 列出您的所有远程存储库以确认您是否有上游(父/原始)存储库:

    git remote -v

  2. 如果您没有看到原始远程存储库,请通过键入以下命令添加它。这通常称为“上游”,与“起源”不同,后者是您的分叉远程存储库。

    git remote add upstream <path of the original remote respository>

  3. 验证它是否已添加为名为“上游”的远程,并确认它为“获取”和“推送”操作列出。

    git remote -v

  4. 在本地获取新(在您的 fork 之后)创建的分支:

    git fetch upstream

  5. 列出所有分支以确认您可以看到新创建的分支

    git branch -a

现在您可以根据需要在本地检查分支以对其进行处理。