在 git 变基期间解决冲突

Resolving conflicts during git rebase

为了简单起见,假设以下情况:

      D---E---F--- ... ---Z  topic
     /
A---B---C                    master

我想在 master 上做 rebase,所以 DZ "chain" 在 C 之后,但是,所有 D , E, F, ..., Z 提交在将它们 1 对 1 变基时会产生冲突。我们只是说它们中的每一个在不同的行上与 commit C.

我想立即解决所有这些冲突,而不是在 rebase 交互模式 (--continue, --abort, --skip) 中,或者它是什么。我的问题是忽略冲突并在最后解决冲突是否完全不好。通过新的显式提交或在最后的变基步骤中。

我的意思是:git add -A && git commit

这将导致某些提交包含处于无法工作状态的代码库的历史记录,对吗?

ps。我不想合并,我想变基。

是的,忽略 Git 报告的冲突是个坏主意。从 CD 的逻辑更改不太可能通过 BD 之间的相同代码更改来实现。如果足够简单,那么 Git 就不会要求干预了。如果您不关心历史记录,您可以将所有 DZ 提交合并为一个,然后尝试变基。

您有 git rerere 命令可以帮助您。

git rerere

R已记录 R已使用 R已解决

# enabled the option to record the 
git config --global rerere.enabled true

顺便说一下,如果你更喜欢 rerere 而不是它解决的自动暂存文件(我愿意),你可以要求它:你只需要像这样调整你的配置:

git config --global rerere.autoupdate true