首页 > 解决方案 > Rebase 期间的 Cherry-pick

问题描述

我正在将提交反向移植到 Linux 内核的本地实例上。我们称分支为UpstreamLocal

我已经精心挑选了提交系列,例如Upstream~10..UpstreamLocal。我已经解决了这些冲突,现在正在交互式重新设置以编辑提交,以便实际构建和工作 [1]。我需要引入提交系列的依赖项(和传递依赖项)。

当我在交互式变基期间进行挑选时,它会将提交转储到我的阶段,而不是在我选择编辑的提交之后将提交插入到树中。我该如何完成或类似的事情?

我能想到一些不好的选择,但没有好的选择:

  1. 手动提交:复制粘贴旧的提交消息,修复作者/等,然后修复补丁顺序(依赖关系可能应该首先出现)。
  2. 中止变基,选择提交,然后重新启动交互式变基(并将选择的依赖项移到前面)。
  3. 选项 2,但将任何部分工作推入存储并git rebase --continue直到结束,而不是使用中止。
  4. 承认并修改对我正在编辑的提交的依赖。

这些选项似乎都不是很好,似乎应该有更好的东西。特别是如果我开始变基和中变基,我意识到我需要一些特定的提交。有没有解决的办法?选项 3 可能是我最终会做的,但感觉有点乏味。

似乎答案是否定的,因为在 rebase 期间挑选樱桃可能需要您嵌套 merge-conflict-resolution-sessions(不确定是否有这个名称),这对于 git 来说很难实现。

[1] 如果我更聪明的话,我可能会在最初的樱桃采摘期间这样做,但我不确定那会做任何不同的事情。

标签: git

解决方案


推荐阅读