以前对svn的trunk branches使用较少,最近做项目过程中发现,svn的trunk branches使用场景很多,很有必要深入学习,下面向大家分享下学习心得。
我们在trunk主干上开发了v1.0版本,此时v1.1的需求也出来了,需要开发v1.1。如果我们不创建分支,一直在trunk上开发,我们在开发v1.1的时候,v1.0出现了bug,我们便解决v1.0上的bug,解决后提交到svn。提交的时候尴尬了,提交文件有解决v1.0bug的文件,还有v1.1新需求的文件,v1.1新需求还没开发完呢,不能提交呀!囧不囧?
针对上述问题,我们需要在trunk上开发v1.0,开发完成后打一个tag,用于保存v1.0的版本。如果需要开发v1.1,我们在trunk上创建branches,在branches上开发新功能。如果v1.0出现了bug,我们切换到trunk,在trunk上创建branches,用于修改v1.0的bug。
也许你会问,为什么不直接在trunk上修改v1.0的bug,还要创建分支修复呢?我的解释是:这样更安全一点,所有人都在trunk上修改bug,不经过测试,可能会引入更多的bug。
v1.0bug修复后,删除修复bug的branches,重新打tag。
v1.1的修改开发完成后,部署到测试环境进行测试,测试没有问题后,merge到trunk,删除开发v1.1的branches。
eclipse svn创建分支方式如下:switch到truck目录,右键project–>team–>branches–>输入branches名称。
eclipse svn分支合并到主干方式如下:switch到truck目录,右键project–>team–>merge–>输入branches的svn地址–>edit Conflicts–>Mark as merged–>commit。
SVN trunk branches tag详解
最新推荐文章于 2020-03-20 15:41:27 发布