2011-05-10 637 views
4

我正在尝试执行git rebase将数据迁移到已断开连接的SVN克隆分支。Git rebase - 合并冲突时强行覆盖

比方说,我正在尝试这与SoundManager2 repo from Github

大约前20个左右的rebase行动将正常工作。之后,它将开始发生一些冲突。他们中的大多数会自动解决,但不管它使我停下来并继续。

在这种情况下,我不在乎冲突是什么。 我只想用任何最新的文件覆盖任何冲突的文件。我试图得到不同的合并策略工作,但没有成功。

任何想法或想法?谢谢。

+0

我不确定你想要发生什么。你是否想要分支上的最新版本,或最新的非冲突版本? – MatrixFrog 2011-05-10 01:59:37

+0

我试图从'master'运行一个大的rebase到'git-svn'。无论出于何种原因,即使'git-svn'是一个干净的石板,运行rebase也会产生一堆合并冲突。我想我想要的是我正在重组的最新产品。如果可能的话,我想保留所有的历史记录。 – jocull 2011-05-10 02:48:20

+0

另外,我会补充说我将整个分支转储到一系列约500个补丁文件中。运行'git am ../ patches/*'会导致与rebase相同的冲突。 – jocull 2011-05-10 02:49:17

回答

-1

你总是会遇到这个问题。 Git在发生冲突时不能承担任何责任。听起来就像你想要你的改变是在任何发布到svn repo上的。我会用“rerere”来帮助你。

尝试合并最新更改时,合并通常会更好。

祝你好运!

+0

有什么办法来强制执行严格的历史记录,以便Git不试图合并两个不同的分支在他们准备好之前,彼此的顶部? – jocull 2011-05-10 14:57:54

+0

使用SVN,您的选项有限。你将不得不“赶上”,然后确保你经常带来最新的SVN,这样你就不会再陷入同样的​​局面。就像我说的,做一个合并并将其合并到svn分支。推动它。然后保持最新状态。 – 2011-05-10 21:50:31