首页 > 解决方案 > 当我使用 git rebase 编辑提交时,会在该提交之后的所有提交中归档吗?

问题描述

我想在提交中编辑一个文件(不是 HEAD)。我读了这个答案,当我这样做时,我在提交之后遇到了提交冲突。我想知道该提交之后的所有提交中的文件是否会被修改,这意味着很多冲突。

标签: gitrebase

解决方案


从技术上讲,您不会修改任何提交中的任何文件。相反,您正在接受较旧的提交,使用它们来提取和更新工作树,并使用生成的工作树文件来生成您将使用的新的(并且可能是改进的)提交,而不是旧的提交。

每当您这样做时,挑选一个较旧的提交(rebase 本质上是一系列挑选操作)可能会导致合并冲突。如果发生这种情况,您必须解决合并冲突。Git 不能为你做这件事:如果可以的话,它一开始就不会产生合并冲突。当“你”和“他们”对同一行进行不兼容的更改,或者以 Git 无法自行解决的方式进行更改时,就会发生合并冲突。rebase 的独特之处在于“你”和“他们”通常是同一个人,并且在其他合并冲突中有用的 and 的概念变得有些--ours荒谬。--theirs


推荐阅读