使用分支的 SVN 策略,并将更改从主干合并到分支

标签 svn branch branching-and-merging svn-merge svn-update

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

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

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

目前,当我们对主干进行更改并希望将这些修改放在提前的分支中时,我必须通过手动将某些修订合并到分支中并重新提交它们。不理想,而且容易错过东西。

所以,我的问题... 有没有办法用主干的所有更改来更新我的分支,并像处理标准主干更新一样处理它们?

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

最佳答案

是的,有可能。基本上,您需要运行 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".

Keeping a Branch in Sync来自 SVN 书。

第一次合并可能会引入很多冲突,特别是如果分支很久以前 fork ,但后面的合并会顺利进行,特别是如果你经常合并。

关于使用分支的 SVN 策略,并将更改从主干合并到分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15546751/

相关文章:

branching-and-merging - 在 PlasticSCM 中,如何重新设置分支的父级?

Eclipse/Subclipse : Switch from branch to trunk with modified sources?

c++ - SVN和SFTP与eclipse同步

svn - 设置 JetBrains YouTrack 以连接到 SVN

repository - jgit - 克隆存储库的分支而无需结帐

python - 运行 python 脚本并更改 git 分支

Mercurial 工作流程,具有选择性功能部署和持续集成

Mercurial-忽略所有 merge 提交而查看分支上的更改

svn - 帮助我了解 Svn 合并

windows - svn+ssh结账慢