SVN策略使用分支,并将变化从主干合并到分支

Hor*_*rse 19 svn branch svn-merge svn-update branching-and-merging

这么长时间的SVN用户,但在分支/标记方面相当缺乏经验,当我怀疑我没有真正正确使用它或充分发挥其潜力.

我有我的主干,我正在努力添加新的功能等.这个代码库用于多个网站,我们在每个项目的基础上创建一个分支机构.

每个分支通常都有特定于该项目的修改,我们认为可重复使用的任何内容都会添加到主干中,并且可以在各种项目上打开和关闭功能.

目前,当我们对主干进行更改,并希望在预先设置的分支中进行修改时,我必须通过手动将某些修订合并到分支中并重新发布它们.不理想,容易错过的东西.

所以,我的问题......有没有办法用中继的所有更改来更新我的分支,并处理它们就好像它是冲突的标准主干更新?

我已经看到将分支重新集成到主干,但由于我在这种情况下使用分支的方式,这不是我想要做的事情.

Eti*_*ret 22

对的,这是可能的.基本上,您需要svn merge从分支的干净工作副本运行(一个没有本地修改):

$ pwd
/home/user/mybranch
$ svn status # Does not display anything
$ svn update # Make sure your local copy is up to date.
Updating '.':
At revision X.
$ svn merge url/to/repository/trunk
Updates, additions, deletions and conflicts.
$ #handle conflicts.
$ svn commit -m "Merging changes from the trunk".
Run Code Online (Sandbox Code Playgroud)

请参阅SVN手册中保持分支同步.

第一次合并可能会引入许多冲突,特别是如果分支很久以前分叉,但后者合并将顺利进行,特别是如果你经常合并.