git 在保持提交的同时,使长期发布分支与主分支同步

m1m5dgzv  于 2023-05-21  发布在  Git
关注(0)|答案(1)|浏览(152)

在我的工作中,我们使用类似gitflow的东西。我们有一个发布分支,其中已经合并了几个功能,我需要添加一个依赖于这些功能的功能,因此我分支发布并进行了一系列提交。
在此期间,该发布分支被删除。该版本的功能被单独合并到主版本中,其他功能则被删除。因此,该发布分支已过时。
我现在有一个情况,我的功能分支有一个负载的提交,我真的想与主合并。最明显的方法是从master分支中派生一个新的分支,然后选择提交,然后直接合并。
然而,我真正想回答的问题是,是否有可能基本上操纵我现有的分支,以模拟让它匹配master的效果,然后将我最近的提交保持在顶部。原因是PR已经存在,对于正在运行对我现有分支的更改的分段主机,已经有各种工作流。
一个交互式的变基看起来太复杂了,因为它需要梳理大量的提交。一个rebase --onto看起来很有希望,但是除非我误解了,否则它也会创建一个新的分支。或者,如果我在一个临时分支上进行分支+cherry-pick,我可以在强制推回原点之前删除我的旧特征分支并重命名新分支吗?

ryhaxcpt

ryhaxcpt1#

你确实误解了什么是变基。如果你的分支是mybranch,那么你会说

git fetch
git rebase --onto origin/master <SHA-before-first-commit-of-my-branch> mybranch

这将保留mybranch,但它会将它的“开始”(正确的mybranch的“第一次”提交)从它的前一个父节点中剥离出来,并将其粘贴到master的末尾。
无所畏惧,因为如果你这样做,你认为你犯了一个错误,你的行动是100%可撤销感谢reflog

相关问题