我有一组更改可以完美地针对某个 linux 版本,比如 2.6.25.4。
我有一个 git 树,并从标签 v2.6.25.4 创建了一个跟踪分支 vanilla-2.6.25.4。我由此创建了一个名为 my-changes-2.6.25.4 的分支,并完成了我所有的工作。
现在,我想将我的工作重新建立在任意较新版本的 Linux 之上。说 2.6.28.9。实现这一目标的最佳 git 工作流程是什么?
我知道如何从 2.6.28.9 创建一个新分支,但是执行类似 'git merge my-changes-2.6.25.4' 之类的操作会引起我不感兴趣的其他事情的各种冲突。无论如何,这似乎已经坏了。
我尝试从我的工作 my-changes-2.6.25.4 创建一个新分支,并执行 git rebase 2.6.28.9,假设这会将我的更改从 2.6.25.4 应用到 2.6.28.9 之上,但这给了我很多与我所做的任何更改无关的冲突。
我不确定这样做的正确方法是什么。我正在使用稳定的 linux 树http://www.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6-stable.git,我认为一些问题可能源于事实版本化标签 v2.6.xy 并非都来自同一血统。
有谁知道如何正确地做到这一点?额外的功劳是设计了一种通过二进制搜索尽可能自动前进的方法,以找到 Linux 通过更改接口破坏我的代码的下一个位置,但我想一旦我知道我实际上想要做什么,我可以自己自动化它.