2017-05-07 228 views
2

我分叉了一个GitHub项目,在开发分支中做了一些更改,并提交了一个pull请求。该项目业主表示,他将在一两周内合并我的变更,但自那之后,两个月过去了。同时,由于我在研究论文中使用这些变化,因此我希望将这些变更提供给全世界。将开发分支合并到我的分支中,同时保留合并到主分支的选项

我想将我的开发分支合并到我的fork中的主分支中,以便人们可以通过我的fork使用更改; 但是,我也想让项目所有者最终将我的更改合并到主叉中。

这可能吗?

回答

1

当然这是 - 只要去你的主人,与你的发展合并,并没有任何问题。

您发送拉请求的事实不会改变您的存储库或分支机构的任何内容。你仍然可以在你身边做任何你喜欢的事情。

首先,您的存储库和他的存储库是单独的。无论你在你身上做什么都不会反映他的意见,反之亦然。这就意味着不管你(他)如何将这些变化合并为主人 (或者在开发上制作新的人) *)都不会影响其他人的回购。此外,您发送的请求将保持不变, *),直到他做了一些事情。

如果他合并该拉取请求,您的存储库不会注意到这一点。它会留下来,直到你与他的'父'回购同步( - > PULL)。

同样,他的回购也不会让你注意到合并。事实上,在你做完之后,他可以与你的版本同步,就像你在发布新的提交时可以与他同步一样。在Git中,没有'父'和'子'存储库,都是相同的,因此对于Git和推/拉/等操作,在任何方向上同步都没有问题。

此外,如果执行合并现在,他忽略了它,然后他做了一些改变,然后在一段时间后他决定合并你的补丁 - 你将能够与他的repo同步以获得最新的变化(反之亦然)。这是因为Git记得什么与什么合并,并且会注意到你已经有了你之前的更改合并了你当前的更改。

如果你不得不等待他做任何事情,那么'分布式源代码控制系统'会有什么意义?

当然,如果你们两人做合并的时间点差异很大,当你与另一方同步时,你(他)可能会发生一些冲突,但是,任何合并都可能会结束。

*)一个警告:Pull-Request会跟踪您的存储库。如果你从你的发明中发送了一个PR,你不应该在需要的时候保持你的发展。这是因为( - >How to update a pull request)如果您向devel分支提交任何新内容,则GitHub的PullRequest会认为这是更新,PR也会使用此新提交进行更新。所以,通过从发展中发送PR,你基本上锁定了你的发展,直到PR得到解决。这就是为什么你应该做一些其他的分支,即important-fixes-may-2017(是的,这是一个非常糟糕的名字),等于你的发展,并从该分支做出公关。这样,这个分支就会被公关人员观察到,你的开发者可以自由地玩。

但是,这一切不会改变您的主人是免费玩的事实。您可以结账主,与开发合并,这不会改变他的观点。只有当您向发起PR的分支提交任何内容时,您发送的Pull-Request才会得到更新 - 也就是说 - 如果您承诺devel

(和暂时,如果你想改变什么了,而不更新PR,就在同一个点作为devel的工作对一个创建一个分支devel2

+0

你能帮助我这个http://stackoverflow.com/questions/43826650/error-could-not-apply-tried-it-in-proper-way-by-seeing-instructions-but-st?noredirect=1#comment74692370_43826650 –

相关问题