我是颠覆新手。上个月我做了一些更改并将它们合并到主干中。一切看起来都很好 - 我的更改按预期传播了。但今天我重读了有关合并的内容,看到了this http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchemerge.basicmerging.reintegrate,在将更改合并回主干时说以下内容:
现在,使用 svn merge 和 --reintegrate 选项将分支更改复制回主干。
以及后面的几段:
请注意我们这次使用了 --reintegrate 选项。该选项对于将分支的更改重新集成回其原始开发线至关重要 - 不要忘记它!
我想我第一次读的时候不够仔细。
所以,看来我之前合并回主干时犯了一个错误,因为我没有使用 --reintegrate 选项。这会带来什么后果?有什么我需要修复的吗?
如果它有用的话,我的工作流程如下所示:
- 从主干复制以创建个人分支。
- 查看个人分支。
- 更改和提交。
- 获取 trunk 的工作副本。
- 将我的分支合并到主干的工作副本(同样,没有--reintegrate)。
- 提交合并。
- 删除我的分支。
如果您的分支非常短暂,那么您的工作流程就很好。
如果它的寿命较长,您需要定期将主干中的更改合并到分支中,以避免与活动的主分支断开连接。
最后,您的功能分支将包含自您创建分支以来主干的所有更改,以及您在分支中开发的新功能。这时候就需要使用reintegrate
选项,因为将分支的更改应用到主干是错误的:它将重新应用主干中已有的更改,因为它们源自主干。
SVN 书中有关此内容的部分对此进行了详细介绍特征分支 http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.commonpatterns.feature.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)