我想在一个新的初始承诺的基础上重新建立我整个git历史的基础,以便能够将它推送到SVN。
我不明白的是,为什么我必须再次解决同样的合并冲突。它们在最初的历史上曾经被解决过,为什么不能就这样解决呢?
我已经发布了一个最小git-存储库来重现这个问题:
git clone https://github.com/martinsson/merge-conflict-reappears-in-rebase.git
git checkout yoda
git rebase master
我知道git重放,但当这些冲突从一开始就得到解决时,它似乎必须被激活。从理论上讲,我可以激活它,解决冲突,然后用它来解决冲突,但在实践中,似乎几乎不可能使冲突的解决与原来的冲突相同。
我知道我可以使用合并或git移植将所有东西都推到SVN上。但这违背了将提交日志移植到SVN的目的。
发布于 2014-10-16 06:15:36
Rebase命令将重新应用于目标之上的每个提交所表示的所有更改。这就是为什么所有冲突似乎都再次出现的原因。
如果您想要将项目的当前状态作为“干净”(新)提交推到SVN,只需检查它并将所有文件推送到SVN。如果你想保存历史,那为什么要重做呢?
https://stackoverflow.com/questions/26406463
复制