gpt4 book ai didi

git - 将开发分支 merge 到我的分支中,同时保留 merge 到主分支的选项

转载 作者:太空狗 更新时间:2023-10-29 14:17:15 26 4
gpt4 key购买 nike

我 fork 了一个 GitHub 项目,在开发分支中做了一些更改,并提交了一个 pull-request。项目负责人说他会在一两周内 merge 我的更改,但从那时起,两个月过去了。同时,由于我在研究论文中使用了它们,所以我想让全世界都可以使用我的更改。

我想将我的开发分支 merge 到我的分支中的主分支中,以便人们可以通过我的分支使用更改;但是,我也希望项目所有者能够最终将我的更改 merge 到主分支中。

这可能吗?

最佳答案

当然是——去找你的master,和你的devel merge ,不会有任何问题的。

从您的存储库或分支的角度来看,您发送 pull 请求的事实不会改变任何内容。您仍然可以随心所欲。

首先,你的仓库和他的仓库是分开的。无论你在你的身上做什么,都不会反射(reflect)出他的,反之亦然。这本身就意味着无论你(他)将更改 merge 到 master (或在开发中创建新的) *) 都不会影响其他人的 repo 。此外,您发送的 pull 请求将保持不变, *) 直到他对其进行处理。

如果他 merge 那个 pull request,你的仓库将不会注意到。它会一直留在后面,直到您将它与他的“父”存储库同步(->PULL)。

同样,他的 repo 不会注意到你在进行 merge 。其实你做了之后,他可以同步你的版本,就像他发布新的commit时你可以同步他一样。在 Git 中没有“父”和“子”存储库,它们都是平等的,因此对于 Git 和推/pull/等操作,在任何方向同步都没有问题..

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

如果您必须等待他在他这边做任何事情,那么“分布式源代码控制系统”还有什么意义?

当然,如果你们两个进行 merge 的时间点差异很大,那么当您与另一方同步时,您(他)可能会遇到一些冲突,但是,好吧,任何 merge 都可能以一些冲突告终。

*) 一个警告:Pull-Request 确实会跟踪您的存储库。如果你从你的开发中发送了一个 PR,你不应该在需要之前保持你的开发不变。这是因为 (-> How to update a pull request ) 如果您向 devel 分支提交任何新内容,他这边的 GitHub 的 PullRequest 将假定这是一个更新,并且 PR 也会使用这个新提交更新自己。因此,通过从 devel 发送 PR,你基本上锁定了你的 devel,直到 PR 得到解决。这就是为什么你应该创建一些其他分支,即 important-fixes-may-2017(是的,这是一个非常糟糕的名字),等同于你的开发,并从该分支进行 PR。这样这个分支就会被 PR 观察到,你的开发就可以自由使用了。

然而,这一切都不会改变您的主人可以自由玩耍的事实。您可以 checkout master,与 devel merge ,从他的角度来看,这不会改变任何东西。只有当您向发起 PR 的分支提交任何内容时,您发送的那个 Pull-Request 才会得到更新 - 也就是说 - 如果您提交给 devel

(目前,如果你想在不更新 PR 的情况下进行更多更改,只需在 devel 的同一点创建一个分支 devel2 并在那个分支上工作)

关于git - 将开发分支 merge 到我的分支中,同时保留 merge 到主分支的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com