无法修改包含已解决的合并冲突的分支

时间:2014-10-16 14:04:20

标签: git git-svn git-rebase merge-conflict-resolution

我希望在新的初始提交之后重新设置我的整个git历史记录,以便能够将其推送到SVN。

我不明白为什么我必须再次解决相同的合并冲突。它们曾经在原始历史中得到解决,为什么不能只采取这些解决方案呢?

我发布了minimal git-repository来重现问题:

git clone https://github.com/martinsson/merge-conflict-reappears-in-rebase.git
git checkout yoda
git rebase master

Image of the history

我知道git rerere,但是当这些冲突首先得到解决时,似乎必须激活它。从理论上讲,我可以激活它,解决冲突然后用它来解决冲突,但在实践中,似乎几乎不可能使冲突解决与原始冲突相同。

我知道我可以使用合并或git移植将所有内容推送到SVN。但这违背了将提交日志移植到SVN的目的。

1 个答案:

答案 0 :(得分:1)

Rebase命令重新应用目标顶部每次提交所代表的所有更改。 这就是所有冲突似乎再次出现的原因。

如果要将项目的当前状态作为“干净”(新)提交推送到SVN,只需将其检出并将所有文件推送到SVN即可。 如果你想保存历史记录,那么为什么要Rebase?