我分叉了一个GitHub项目,在开发分支中进行了一些更改,然后提交了请求请求。项目负责人表示,他将在一两个星期内合并我的更改,但是从那时起,已经过去了两个月。同时,由于我在研究论文中使用了这些更改,因此我希望将更改发布给全世界。
我想将我的开发分支合并到我的fork的主分支中,以便人们可以通过我的fork使用更改。但是,我也想让项目所有者最终将我的更改合并到主分支中。
这可能吗?
当然是-只需去找您的主人,与您的开发人员合并,就不会有任何问题。
从存储库或分支机构的角度来看,您已发送拉取请求的事实不会改变任何内容。您仍然可以随心所欲地做任何事情。
首先,您的存储库和他的存储库是分开的。无论您做什么,都不会反映他的想法,反之亦然。仅此一项就意味着无论您(他)将更改合并到主文件中 (或在开发中进行新 更改 ) *)都不会影响其他人的回购。同样,您发送的请求请求将保持不变, *),直到他对它执行操作为止。
如果他合并了该拉取请求,则您的存储库将不会注意到这一点。它会一直保留,直到您与他的“父”仓库同步(->拉)为止。
同样,他的回购通知不会通知您进行合并。实际上,完成后,他可以与您的版本同步,就像您在他发布新的提交时可以与他同步一样。在Git中,没有“父”和“子”存储库,它们都是相等的,因此对于Git和push / pull / etc操作,在任何方向上同步都没有问题。
此外,如果您现在进行合并,而他忽略了它,然后进行了一些更改,则在较长时间后,他决定合并您的补丁-您将能够与他的仓库同步以获取最新更改(并且反之亦然)。这是因为Git记住了什么与什么合并,并且会注意到您早先已经合并了当前更改。
如果您必须等待他做任何事情,那么“分布式源代码控制系统”的意义何在?
当然,如果你们俩进行合并的时间点大相径庭,那么当您与另一方同步时,您(他)可能会遇到一些冲突,但是,任何合并都可能导致一些冲突。
*)一个警告:Pull-Request会跟踪您的存储库。如果您从自己的开发单位发送了PR,则在需要之前,请勿保持开发单位不变。这是因为(-> How to update pull request)如果您对devel分支提交任何新内容,则GitHub上的GitHub的PullRequest将假定这是一个更新,而PR也将使用此新提交进行更新。因此,通过从devel发送PR,实际上可以锁定devel,直到PR解决。这就是为什么您应该创建其他分支,即important-fixes-may-2017
(是的,这是一个非常糟糕的名字),等于您的开发,然后从该分支进行PR。这样,PR可以观察到该分支,您的开发将可以免费使用。
但是,这一切都不会改变您的主人可以自由使用的事实。您可以签出master,与devel合并,从他的角度来看,这不会改变任何内容。仅当您将任何内容提交给从其发起PR的分支时(即,如果提交到),您发送的Pull-Request才会获得更新devel
。
(目前,如果您想在不更新PR的情况下进行更多更改,只需devel2
在devel的同一位置创建一个分支,然后对该分支进行操作即可)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句