首页 > 解决方案 > 修改 git 提交,并在一个命令中应用到所有后续分支

问题描述

在一个 git repo 中,我有许多串行提交,直到一个名为 Z 的提交。

我在 Z 附近有 3 个分支机构(A、B 和 C)。

我想在 Z 之前修改一些提交(X 和 Y),并且我希望这些更改应用于所有后续分支(例如 Z 的 3 个分支,即 A、B 和 C)。

根据我所见,我一次只能为 A、B 或 C 中的一个进行交互变基,所以我必须变基 A,生成 Z',然后将 B 变基到 Z',然后将 C 变基到 Z '。

这似乎很荒谬。

有什么方法可以修改 X 和 Y,然后让这些更改在一个命令中流经所有下游分支?

我已经使用 IntelliJ 手动完成了这 3 个分支,但是每次更新旧提交时都必须这样做会很烦人。我知道通常你不应该更新旧的提交,但我自己正在做一个项目,并且有一些原因应该更新旧的提交。我在 Z 之前的提交中几乎没有任何更改会导致与 Z 之后的 B 或 C 中的提交发生任何冲突,因此如果没有冲突,最好将更改应用于 A、B 和 C可以选择解决冲突,或者只是跳过存在冲突的分支,迫使我在单独的命令中修复它们。

标签: gitgit-branchrebasegit-rebasebranching-and-merging

解决方案


推荐阅读