分支是一种拥有 2 组或者更多组源代码的方法,每组都有自己的开发,但最终将它们合并到主干中。
例如,在大多数开发中,我们通常有“开发”和“发布”版本。
顾名思义,“开发”版本用于开发和测试。
但是“发布”版本将是推出用于生产用途的最终版本。
对于此示例,“发布”将是主干,“开发”将是分支。
它看起来像这样:
web_blog(repository) | +release | | | +front_end | | | +engine | | +development | +front_end | +engine
要创建此层次结构:
cd /home/user/svn_repositories
svnadmin create web_blog
svn mkdir file:///home/user/svn_repositories/web_blog/release
svn import /home/user/web_blog_initial_source_code \ file:///home/user/svn_repositories/web_blog/release
svn copy file:///home/user/svn_repositories/web_blog/release \ file:///home/user/svn_repositories/web_blog/development
最后一个命令实际上将“release”目录复制为 subversion 存储库中的“development”目录。
通常,代码分支和合并的循环如下所示:
- 要在“开发”分支上工作,请从开发分支进行通常的检出,例如
svn checkout file:///home/user/svn_repositories/web_blog/development
- 然后处理“开发”分支工作副本中的代码
- 像往常一样提交,例如
svn commit -m "The codes are ready for production"
- 测试 devel 分支中的代码,直到它稳定并准备发布
- 当代码准备好与发布主干合并时,从“发布”主干中检出一个副本,然后将其 cd 放入其中。确保当前目录位于“发布”工作副本的根目录中!
- 将“发布”代码与“开发”代码合并,例如
svn merge file:///home/user/svn_repositories/web_blog/development
- 要查看文件更改的内容:
svn status
- 最后,提交合并,例如
svn commit -m "Merging the development codes"
通常,重复步骤 2 以获得进一步的开发周期。
日期:2020-06-02 22:17:17 来源:oir作者:oir