Rebase 不就是重放改动吗?

Rebase is not just replaying the changes?

据我了解,rebase 会在目标分支上重播当前分支的提交。如果我理解正确,那么如果我将我的分支重新定位在另一个分支之上,任何可能的冲突只会发生在我更改过的文件上,但事实并非如此,而且我在提交时没有更改的文件上也会发生冲突(尽管它们在两个分支之间是不同的)。

为了更清楚,假设分支 Main 和 A.

时间流逝,Main分支发生了很大变化,但A.h和A.cpp仍然存在。

我预计,如果有任何冲突,它们将 发生在 A.h 和 A.cpp 上,但根据我的经验,我也会发生冲突其他文件。我错过了什么???

谢谢!!!

Rebase 只是重放更改。如果您 运行 与其他文件发生冲突,那么分支点之前 Main 的提交历史一定已经更改。