来自fork的Git同步分支
我了解如何同步forked repo:设置fork的上游,然后运行来自fork的Git同步分支,git,Git,我了解如何同步forked repo:设置fork的上游,然后运行git-fetch-upstream&&git-checkout-master&&git-merge-upstream/master。我遇到的问题是同步另一个人的分支 假设有一个带有提交的存储库org/foo,Z。鲍勃做了个叉子,Bob/foo。简也做了一个叉子,Jane/foo。现在,Bob创建了一个功能分支Bob/foo:feature-a,提交a,并发布该分支。Jane然后签出bob/foo:feature-a,并从中创建一
git-fetch-upstream&&git-checkout-master&&git-merge-upstream/master
。我遇到的问题是同步另一个人的分支
假设有一个带有提交的存储库org/foo
,Z
。鲍勃做了个叉子,Bob/foo
。简也做了一个叉子,Jane/foo
。现在,Bob创建了一个功能分支Bob/foo:feature-a
,提交a
,并发布该分支。Jane然后签出bob/foo:feature-a
,并从中创建一个新分支,Jane/foo:feature-b
(Jane现在在本地有两个分支)。接下来,Bob推送一个新提交,a'
,Jane想在feature-a
的最新提交上重新设置feature-b
的基础。她是怎么做到的
希望这个图表能有所帮助
Time 0 1 2 3 4 5
bob/foo:feature-a A - - - - - -A'
/ \
org/foo Z \
\
jane/foo:feature-b A - B magic A - A' - B
Jane如何在
t=4
同步其本地签出的bob/foo:feature-a
以包含commita'
,以便她可以将commitB
重新设置到其上?在您的场景中,我只需强调一下:bob已将commita
和一个名为feature-a
的分支推到org/foo
(暗含“发布分支功能-a
”)
因此,Jane实际上从central repoorg/foo
获取了提交A
和feature-A
一旦Bob添加了提交A'
,并将其发布到org/foo
,Jane将能够从org/foo
获取它:
# from Jane's fork :
git checkout feature-b
git fetch origin # will fetch commit A' as part of branch feature-a
git rebase origin/feature-a # rebase on top of Bob's work
你能描述一下Bob和Jane是如何用叉子叉的吗?他们都是用叉子叉的吗?Jane是用叉子叉的吗?他们都是用叉子叉的吗