Git 更新以前的合并提交,但不解决两次冲突

Git 更新以前的合并提交,但不解决两次冲突,git,merge,rebase,Git,Merge,Rebase,我的回购协议有两个分支,main和feature。git log--graph--format='%s%d'--all的输出如下所示: * e (main) | * d (HEAD -> feature) | * Merge branch 'main' into feature | |\ | |/ |/| * | c | * b |/ * a 现在,我想将我的main分支上的提交e包含在feature分支上的合并提交中,这样我就有了main上的最新更改,但

我的回购协议有两个分支,
main
feature
git log--graph--format='%s%d'--all
的输出如下所示:

* e  (main)
| * d  (HEAD -> feature)
| *   Merge branch 'main' into feature 
| |\  
| |/  
|/|   
* | c 
| * b 
|/  
* a
现在,我想将我的
main
分支上的提交
e
包含在
feature
分支上的合并提交中,这样我就有了
main
上的最新更改,但如果
feature
分支上的提交
b
已经被推送,则不必强制推送。我也不想在我的历史记录中有另一个合并提交。我希望我的最终图表如下所示:

| * d  (HEAD -> feature)
| *   Merge branch 'main' into feature 
| |\  
| |/  
|/|   
* | e  (main)
* | c 
| * b 
|/  
* a
我可以通过
git-rebase-I main--to:/a--rebase合并
实现这一点,并将交互式rebase的指令更改为:

label onto

reset 9870d06 # a
pick 579c27a b
merge -C d4caa73 main # Merge branch 'main' into feature
pick f672b7f d
但问题是,在上一次合并提交中,我必须解决
b
c
之间的冲突,使用这种方法,我必须再次解决此冲突。因此,我真正想做的是从我在
main
上的commit
c
上停止的地方开始合并commit,然后继续将
e
合并到
功能中
b
。有没有办法做到这一点?也许还有一种方法可以临时引入另一个合并提交,然后挤压这两个合并提交?

Git确实包含了为这种工作流程设计的东西。有一个问题:在进行第一次合并之前,必须打开它

幸运的是,有一个第三方解决方案可以解决这个问题,名为“
git-rere-train
”,它现在包含在git发行版中(但仍然没有直接安装)。例如,参见对以下问题的公认答案:

虽然这个问题(八年前的问题!)是关于rebase的,但同样的概念也适用于由
--rebase merges
执行的
git merge
。事实上,在重设基础期间发生的冲突是合并冲突。你不需要剧本所能做的全部训练;你可以用(十年前的!)来教Git你以前使用的解决方案

请注意,一旦您启用了
reere.enabled
,Git将继续检查以前的解决方案并重新使用它们,即使您不希望发生这种情况(例如,如果您意识到您解决了错误的问题,并希望重新执行)。不过,您可以使用与打开它相同的
git config
操作来关闭它。还要注意的是,即使启用了重用重新编码的分辨率(rerere)选项,Git也会在接受这些记录的分辨率的冲突合并后停止。这给了您一个检查结果的机会。

Git确实包含了为这种工作流程设计的东西。有一个问题:在进行第一次合并之前,必须打开它

幸运的是,有一个第三方解决方案可以解决这个问题,名为“
git-rere-train
”,它现在包含在git发行版中(但仍然没有直接安装)。例如,参见对以下问题的公认答案:

虽然这个问题(八年前的问题!)是关于rebase的,但同样的概念也适用于由
--rebase merges
执行的
git merge
。事实上,在重设基础期间发生的冲突是合并冲突。你不需要剧本所能做的全部训练;你可以用(十年前的!)来教Git你以前使用的解决方案


请注意,一旦您启用了
reere.enabled
,Git将继续检查以前的解决方案并重新使用它们,即使您不希望发生这种情况(例如,如果您意识到您解决了错误的问题,并希望重新执行)。不过,您可以使用与打开它相同的
git config
操作来关闭它。还要注意的是,即使启用了重用重新编码的分辨率(rerere)选项,Git也会在接受这些记录的分辨率的冲突合并后停止。这为您提供了检查结果的机会。

您能否使用
git log
格式显示您最终的期望?在git图上进行推理比较容易,至少对我来说是这样。我现在已经补充了这一点,希望helps能让你最终用
git log
格式展示你的期望?在git图上进行推理更容易,至少对我来说是这样。我现在已经补充了这一点,希望这能帮助Hanks,这正是我想要的!谢谢,那正是我想要的!