git checkout features
git merge master
o [features]
/|
/ o [remotes/origin/features]
[master] o |
| o
o /
|/
o
|
o
然后将特性推送到 GitHub。为了节省空间,我把遥控器关掉了,它们应该和 [主人]在同一个点上。
Rebase 方法稍微有点邪恶——您必须使用——强制,因为您的推送不会是快速向前合并(您将从克隆它的人那里拉出功能分支)。这样做并不被认为是可以的,但是如果你下定决心,没有人可以阻止你。它确实使一些事情变得更容易,比如当补丁以稍微修改的形式被上游接受时。这样可以省去处理冲突的麻烦,您可以直接调整基础——跳过上传的补丁。无论如何,一个 rebase 应该是这样的:
git rebase master features
o [features]
|
o
| o [remotes/origin/features]
[master] o |
| o
o /
|/
o
|
o