前段时间我分叉了一个git repo,从那以后又有几个新的提交提交到master分支。https://help.github.com/articles/syncing-a-fork/解释了如何将上游master分支与本地master分支同步,然后将这些提交推送到我的fork。
然而,它没有提到如何同步新的上游分支。当我最初在Github上分叉项目时,它看起来像是带来了当时所有的当前分支。
我看过关于如何一次同步一个分支的解释。有没有办法一次同步所有的新分支和旧分支?
我还没有向我的分支提交任何东西。因此我正在寻找一个快进同步。
编辑:换一种说法:
我想
git ls-remote origin
相配
git ls-remote upstream
这将包括分支和标记。
3条答案
按热度按时间wmtdaxz31#
但是,它没有提到如何同步新的上游分支
你需要做的就是:
假设您有一个远程存储库,引用为
upstream
。如果没有:
这将获取或更新所有上游分支,并将它们存储在本地repo的上游名称空间中。
您可以通过以下方式查看这些分支:
它不允许我把所有的上游分支推到原点。
为此,您需要根据要推送到原点的任何上游分支创建一个本地分支:
更多信息请访问"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
。3bygqnnd2#
执行以下操作:
1.列出所有远程资料库,以确认是否有上游(父/原始)资料库:
git remote -v
1.如果你没有看到原始的远程仓库,请输入下面的命令添加它。它通常被称为"上游",而不是"源",它是你派生的远程仓库。
git remote add upstream <path of the original remote respository>
1.验证是否将其添加为称为"上游"的远程设备,并确认是否列出了"获取"和"推送"操作。
git remote -v
1.在本地获取新创建的分支(在fork之后):
git fetch upstream
1.列出所有分支以确认您可以看到新创建的分支
git branch -a
现在,您可以根据需要在本地检出分支以对其进行处理。
zsohkypk3#
现在可以通过GitHub用户界面来完成。选择Code〈〉标签,然后点击Branches。添加一个新的分支,并将源代码更改为上游仓库。选择要添加到自己的fork中的新分支,并将其命名为与上游分支相同的名称。
从现在开始你可以使用同步分叉按钮来更新你的分支和上游分支。