前段时间我分叉了一个git repo。从那以后,对主分支进行了几次新的提交。 https://help.github.com/articles/syncing-a-fork/解释了如何将上游主分支与本地主分支同步,然后将这些提交推送到我的分支。
但是它没有提到如何同步新的上游分支。当我最初在github上分叉项目时,看起来它会带来所有当前的分支。
我已经看过有关如何同时同步一个分支的说明。有没有办法同时同步所有新旧分支?
我还没有对我的叉子做出任何提交。因此,我正在寻找快进同步。
编辑: 另一种说法:
我想要
git ls-remote origin
匹配
git ls-remote upstream
这将包括分支和标签。
答案 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)
执行以下操作:
列出您的所有远程存储库以确认您是否有上游(父/原始)存储库:
git remote -v
如果您没有看到原始远程存储库,请通过键入以下命令添加它。这通常称为“上游”,与“起源”不同,后者是您的分叉远程存储库。
git remote add upstream <path of the original remote respository>
验证它是否已添加为名为“上游”的远程,并确认它为“获取”和“推送”操作列出。
git remote -v
在本地获取新(在您的 fork 之后)创建的分支:
git fetch upstream
列出所有分支以确认您可以看到新创建的分支
git branch -a
现在您可以根据需要在本地检查分支以对其进行处理。