分支在版本树中的应用(使用subversion)

项目已上线,需不断维护。要求加入全市统一的功能,并马上上线,功能已经开发并测试,目前正在修改一些小的bug 。但是新需求在不断引入:修改周期长,由于新需求还未完全实现并测试,bug 修正后无法马上发布新版本。

产品化的软件,可能会有多版本存在,其中部分代码需要不断同步。

这两种应用场景,都可以考虑建立分支版本,使用版本控制工具的自动合并功能,更好的实现配置管理。

基本概念

REVISION 修订版本号

HEAD 版本库中的最新版本

下面三个是本地路径:

BASE 如果发生本地修改,BASE 版本就是本地未修改版本

COMMITEED 在BASE 之前最后修改的版本

PREV 最后修改版本之前的版本,技术上也叫COMMITEED-1

拷贝-修改-合并方案

版本库和修订号

全局修订号,一个修订号对应一个版本树,commit 之后产生全局修订号,本地工作拷贝为混合版本,update 之后是本地工作拷贝为最新的全局修订号。

Commit 之后进入混合修订版本。Pull push 分离原则

常规工作方式:

svn import 导入项目到svn 库

svn checkout 得到工作拷贝

建立分支

使用svn copy 命令或工具创建

建立分支后的版本变化

分支合并

注意:每次合并,提交都建立日志。选择好合并到哪个工作拷贝

范围合并或者版本树合并(最后一个)

方法1:

指定主干版本的版本范围,此范围内被合并到分支

方法2

两个不同版本树合并

选择分支指定版本号(最后一次同步版本)到最新的主干版本直接版本,此版本范围内的版本被同步

解决冲突:使用版本库版本或者使用本地版本,或者编辑修改

Reintegrate brache 或者不同版本树合并

Original: https://www.cnblogs.com/lodestar/archive/2011/01/13/1934487.html
Author: lodestar
Title: 分支在版本树中的应用(使用subversion)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/565295/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球