gpt4 book ai didi

git - 如何将一个git分支 merge 到多个发布分支

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

在 tfs 迁移(完全不同的分支概念)之后,我必须将修复 merge 到多个发布分支,但分支并不相同,它们大多相似,但产品不同(例如不同的品牌、conn 字符串等),所以我不能在这里使用 nvie gitflow 一个产品分支策略。

enter image description here

https://github.com/MrKekson/stackoverflow_question/network

在这里你可以找到一个大大简化的分支结构,基本上我想将 b1 的 hotfix1 分支 merge 到 tesztb3,但没有 b1 上的先前提交(c3,c4)。

Cherrypicking 或 rebase 可能会有所帮助,但我没有设法完成它,而且我在高级 git 使用方面还没有很多经验。所以请告诉我如何去做,或者我应该改变什么来完成它。

最佳答案

好的,我解决了。至少有几种方法可以做到这一点:

所以基本上,可以在 hotfix1 到 teszt3 上分别挑选每个提交,但它很笨拙。

因此我们可以从 b1 创建一个 merge 分支,将 hotfix1 merge 到其中,然后将 merge 创建的提交挑选到 tesztb3 中,这将在 testb3 上产生一个新的提交。甚至可以将 -x 添加到 cherry-pick,这样它就会在新提交上创建一个注释,它的父 guid,或者我们可以将我们的 hotfix1 分支压缩为 1 个提交,然后 cherry-pick 那个。

或者我们可以根据最后一次提交(hf2)创建一个rebase分支,然后

git rebase --onto <new-parent> <old-parent> <lastcommit> 

--onto explained here ,但是<new-parent>是我们的目标分支 teszt3,我更喜欢在目标分支上为此创建一个 merge 分支,旧父级是 hotfix1 的开始,在这种情况下,lastcommit 是 hotfix1 上的 hf2。然后将 teszt3 merge 到我们新的 merge 分支,并创建一个返回到 teszt3 的 pull 请求。

所以我认为这两条路乍一看都不容易,但只要有一点经验就可以做到,而且这是一种比在 tfsvc 中重命名目录更流畅的体验。

关于git - 如何将一个git分支 merge 到多个发布分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40768873/

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