git - 来自 fork 的 Git 同步分支
问题描述
我了解如何同步一个分叉的 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-b
基于feature-a
. 她是怎么做到的?
希望这张图有帮助
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 如何同步她对 at 的本地结帐bob/foo:feature-a
以t=4
包含提交A'
,以便她可以B
在其上重新提交提交?
解决方案
在你的场景中说,我只是强调它:Bob 已经推送了提交A
和一个名为的分支feature-a
(org/foo
暗示为“发布分支feature-a
”)
所以 Jane 实际上从中央回购中获取了提交A
和。feature-a
org/foo
一旦 Bob 添加了 commit并将其发布到A'
,Jane 将能够从 获取它:org/foo
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
推荐阅读
- r - R 中的 while 循环将使用此公式打印 log(x) 的值
- c++ - 运算符重载 C++ 中的流提取运算符 (>>) 会导致无限递归流提取
- javascript - 如何使用 d3 js 在 SVG 中正确使用 Use 标签?
- python - SageMath 中的联立方程
- graphql - GraphQL 替代 Restful API 还是使用它?
- google-apps-script - 如何让多个人编辑谷歌表格而不会看到彼此的变化?
- jquery - 我试图让这个光标效果反应
- entity-framework - EFCore 2.2.2 过滤相关子实体
- php - 通过 PHP 执行 python 脚本
- c - C - 使用 fgets() 填充通过循环迭代的结构数组。如何在同一行打印值?