首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“重新养育”GIT功能分支基于另一个

“重新养育”GIT功能分支基于另一个
EN

Stack Overflow用户
提问于 2022-04-04 21:24:25
回答 1查看 68关注 0票数 0

我希望有人知道把树枝弄得乱七八糟的麻烦事。

我有一个特性分支-- FB2 --它的父级是FB1,而后者又起源于master。

坏消息:我需要在主服务器上重定向FB2,就像它需要在FB1之前发布一样,而不需要FB1的任何提交。

好消息: FB2中很少有代码更改可以直接与来自FB1的变更集交互。然而,在来自FB1和FB2的多张票(~75张)上,有几十个来自拉请求的提交(~75)。

我正在寻找一种最不痛苦的方法来查找和合并直接提交给FB2的提交。另一种方法是修改现有的FB2分支,以重定向主服务器,并删除源自FB1的所有提交。

蛮力,樱桃采摘或重新基地将花费永远和容易出错。

"git重基--转到主FB1上“似乎在测试中不起作用。FB1的变化在FB2中仍然存在。

谢谢!

类似于这里的图表:

代码语言:javascript
复制
# CURRENT
A--B--C--D // master
          \
           E--F--G // FB1
                  \
                   H--I--J // FB2
# DESIRED

          H--I--J // FB2
         /       \
A--B--C--D        M // merged
          \
           E--F--G // FB1
EN

回答 1

Stack Overflow用户

发布于 2022-04-04 22:02:09

你在FB1和FB2之间有过什么重组吗?或者你只是fb1和fb2的分支,然后就有了自己的历史?如果是的话:

您可以尝试在提交G和J之间创建修补程序:

代码语言:javascript
复制
git diff #G..#J > mypatch.patch

然后创建一个新分支,您实际上希望从该分支开始并应用该修补程序:

代码语言:javascript
复制
git apply mypatch.patch

但是,如果新目标分支上不存在文件,则修补程序“填充”不会完全应用。

为此,您可能首先要这样做:

代码语言:javascript
复制
 git diff --name-status #G..#J

以确定实际文件更改了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71743874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档