从Git到SVN:未能在更改中合并
我在Git存储库中有一些代码需要与SVN存储库同步。我的食谱是这样的:从Git到SVN:未能在更改中合并,svn,git,Svn,Git,我在Git存储库中有一些代码需要与SVN存储库同步。我的食谱是这样的: 创建一个SVN存储库(本地的,用于测试的,将是远程的) 创建初始布局,提交1个修订 git svn clone-T'/trunk'基于初始提交的新git存储库 git remote add dev后跟一个git pull dev。现在,基于最初的SVN提交,我在存储库中有了我的主分支 git svn rebase,后面是dcommit 步骤5)但在以下情况下失败: Using index info to reconstruc
git svn clone-T'/trunk'
基于初始提交的新git存储库git remote add dev
后跟一个git pull dev
。现在,基于最初的SVN提交,我在存储库中有了我的主分支git svn rebase
,后面是dcommit
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging X
Applying: Y
Applying: Z
Using index info to reconstruct a base tree...
<stdin>:269: trailing whitespace.
<stdin>:315: trailing whitespace.
<stdin>:400: trailing whitespace.
* Method 2.6. Returns zero or two elements
<stdin>:3762: trailing whitespace.
warning: 4 lines add whitespace errors.
Falling back to patching base and 3-way merge...
使用索引信息重建基本树。。。
退回到修补基础和3路合并。。。
自动合并X
申请:Y
适用范围:Z
正在使用索引信息重建基树。。。
:269:尾随空格。
:315:尾随空格。
:400:尾随空格。
*方法2.6。返回零或两个元素
:3762:尾随空格。
警告:4行添加空白错误。
退回到修补基础和3路合并。。。
随后出现了两条“自动合并”和“冲突(内容)”消息,重新基础最终以友好的“更改中合并失败”停止。我能做些什么来自动解决这些冲突吗?我甚至不明白在重定基址时如何发生冲突 冲突就是冲突,git永远无法为您真正解决它们。只有人类才能确定两个相互排斥的修改中哪一个是正确的 至于为什么在重设基础期间会发生冲突?这实际上是一种与合并相同的操作,只是导致了不同的历史。假设您在此处将提交X重设为提交D:
- A - B - C - D
\
X
结果内容应该与将D合并到X中的内容相同。如果提交B中存在与提交X中所做更改冲突的内容,则将存在合并冲突。无论您是合并还是重定基址,这都无关紧要。我放弃,而是使用
设置树。一个git-rebase-p
会生成一个历史记录,其中在根目录下有人工git-svn初始提交,然后是来自原始git存储库的初始提交
为完整起见,我参考了三种尝试过的方法:
-git-rebase
-git svn rebase
-设置树
但是,当我重新设置到一个只添加三个目录的提交(SVN标准布局)时,冲突怎么会发生?@yawn:那么,冲突是什么?你一定是在对某些内容进行重定基址。我认为这些冲突是由以前的合并造成的-重定基址可能与通过提交解决的合并发生冲突?@yawn:git-rebase
默认情况下不保留合并。请参阅手册页和-p
选项。