Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 将主干合并到具有本地更改的分支_Svn - Fatal编程技术网

Svn 将主干合并到具有本地更改的分支

Svn 将主干合并到具有本地更改的分支,svn,Svn,我在SVN中有一个分支,我想用主干中的新更改来更新它。我在这个分支中还有一些本地更改的文件。我现在还不想提交其中一些更改 如果我试图将主干中的更改合并到此分支中,则会出现错误: Error: Cannot merge into a working copy that has local modifications 有没有办法在服务器上远程将主干合并到分支中,这样我以后就可以正常更新分支?没有。您必须在工作副本上完成合并过程,解决潜在冲突,然后提交 但是工作副本可能与您当前正在处理的工作副本不同

我在SVN中有一个分支,我想用主干中的新更改来更新它。我在这个分支中还有一些本地更改的文件。我现在还不想提交其中一些更改

如果我试图将主干中的更改合并到此分支中,则会出现错误:

Error: Cannot merge into a working copy that has local modifications

有没有办法在服务器上远程将主干合并到分支中,这样我以后就可以正常更新分支?

没有。您必须在工作副本上完成合并过程,解决潜在冲突,然后提交

但是工作副本可能与您当前正在处理的工作副本不同:只需将分支重新签出到新目录,在此新目录中进行合并并提交。

强烈建议您使用工作目录的最新副本进行合并

然而,如果你想打破这些基本规则,朝自己的脚开枪,Subversion会为你提供手段和子弹:

$ svn merge --force --allow-mixed-revisions $repo_url
--allow mixed revisions
参数将允许合并,即使工作副本中存在混合修订。
--force
参数将允许您合并,即使存在本地更改


实际上,在一些情况下,使用
--force
可能是一个好主意,但我想不出任何理由支持
--允许混合修订

不幸的是--force不适用于--reintegrate--reintegrate标志完全改变了合并的工作方式。合并从三方合并更改为仅双向合并。主要目的是强制您正在处理的开发流与您正在合并的开发流相匹配。您不能使用混合修订,因为它没有任何意义,并且您必须有一个干净的签出。较新版本的Subversion客户端尝试查看合并是否为重新整合合并,并消除了对
--reintegrate
标志的需要。这对我很有效。合并到一个干净的签出、提交中,然后使用本地更改在分支上运行更新。