我在 SVN merge
方面遇到了一个特殊问题。我想从开发分支合并到主干。
我们有多个开发分支同时切断了主干。
我使用以下命令将其中一个分支合并到主干:
svn merge trunk branch_1
我看到不属于该分支的更改正在合并到主干中。 我做错了什么?
SVN 版本:
Subversion command-line client, version 1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32.
最佳答案
您的 svn merge
语法错误。
您想要 checkout trunk
的工作副本,然后使用 svn merge --reintegrate
选项:
$ pwd
/home/user/project-trunk
$ svn update # (make sure the working copy is up to date)
At revision <N>.
$ svn merge --reintegrate ^/project/branches/branch_1
--- Merging differences between repository URLs into '.':
U foo.c
U bar.c
U .
$ # build, test, verify, ...
$ svn commit -m "Merge branch_1 back into trunk!"
Sending .
Sending foo.c
Sending bar.c
Transmitting file data ..
Committed revision <N+1>.
请参阅SVN book chapter on merging了解更多详情。
<小时/>请注意,在撰写本文时,这是正确的答案(并且已被接受),但事情已经发生了变化。参见topek的答案,以及http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate
关于svn - 如何将分支合并到主干?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7563693/