我分叉了一个开源项目(我们称之为项目X)。在我自己的fork中,我创建了一个新分支(让我们称之为feature-branch-1
)来处理下一个版本的X的功能.X的所有者为下一个版本创建了一个新分支(让我们称之为{{ 1}})。完成X/nextgen
中的工作后,我会以feature-branch-1
为基础提交拉取请求。
当然,在我分叉X的时间和我准备提交拉取请求的时间之间,X中有一些变化。X/nextgen
与{{1}保持同步所以我决定使用X/netxgen
简单地重新定义X/master
。它在我的结尾工作得很好。 Git(终端)显示没有合并冲突,feature-branch-1
与X/nextgen
保持同步。但是,当我尝试提交拉取请求时,Github说它无法自动合并。
我在网上研究发现我做错了什么。虽然我找不到任何关于直接原因的信息,但我遇到了很多关于如何变形的指南。这些指南中的大多数都指出首先我自己的feature-branch-1
应该与X/nextgen
一起更新,然后使用master
进行重新定位我自己的叉子的X/master
。我跟着这个,虽然feature-branch-1
没有改变(我已经使用master
重新定位了 - 这是feature-branch-1
的最新版本),Github现在能够自动合并我的拉取请求。
所以我的问题是,为什么我不能通过使用X/nextgen
(不触及我自己的叉子的X/master
重新定位feature-branch-1
来获取拉取请求?为什么我自己的fork的X/nextgen
需要先更新?