SVN总是用不好。。

最开始的svn结构是:

(1)trunk -> test -> product

大家都在trunk上开发(共用),merge到test测试,然后merge到product部署

后台开发人员增加,项目越来越大,修改为如下结构:

(2)devs -> test -> trunk

每个开发人员有自己的dev分支,提交代码后,merge到test,然后test测试,trunk保留一份永远可以部署线上的版本

devs 和 test 都由trunk branch而来

这种模式遇到各种冲突的问题。。。后来尝试 merge two different trees 的方式merge 等也没有得到很好的解决,据说有丢文件的情况(没有亲测)

目前采用的模式是:

(3)devs -> test -> trunk

类似(2),dev用于开发,trunk用于部署

不同于(2)的是test由trunk-branch而来,devs由test-branch而来

今天遇到一个问题是,test分支上有几十个版本提交,昨天由于解决线上BUG,

只把test上某一个提交merge到trunk上,导致今天将test所有的新的提交merge到

trunk上总是各种冲突,尝试解决冲突的过程很痛苦,昨天晚上部署完后,线上貌似没什么问题,

今天早上发现有bug,,,,

于是,我把trunk的代码revert到最早的没有从test-merge过来的版本之前,然后把所有高于这个版本的test上的提交再次merge,一切OK了!


感觉描述的有点绕,不知道看完我写的这个能不能看明白。。。

关于版本管理工具,不知道看到本文的您有什么高见,不知道Git在合并的方面是不是更先进一些。。


你可能感兴趣的:(SVN总是用不好。。)