来自fork的Git同步分支

来自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,并从中创建一

我了解如何同步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
,并从中创建一个新分支,
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
以包含commit
a'
,以便她可以将commit
B
重新设置到其上?

在您的场景中,我只需强调一下:bob已将commit
a
和一个名为
feature-a
的分支推到
org/foo
(暗含“发布分支
功能-a
”)

因此,Jane实际上从central repo
org/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是用叉子叉的吗?他们都是用叉子叉的吗