首页 > 代码库 > IOS使用Svn的trunk、branches、tag分别的侧重

IOS使用Svn的trunk、branches、tag分别的侧重

  trunk(主干)团队中大部分成员工作的主要仓库,前期大的团队的代码管理的主要控件,它的功能的侧重点是开发阶段的代码的管理的和集成,由于svn的冲突解决方式来进行代码冲突的处理,一般是最后提交的需要进行代码的处理,Xcode5以后的版本加强了对于svn的集成,所以现在Xcode可以更加方便的进行代码的提交和冲突解决,但是为了更好的进行分支和代码更新历史的管理,最好使用客户端进行辅助管理,比较推荐的Versions比较方便,不需要进行层次深入的更新操作。

  branches(分支)分支既是从主干上衍生出来的代码副仓库,当然这个别称有待商榷,但是它的目的是显而易见的,就是为某些解决特定问题或者实现特殊功能的大牛们的专用仓库,他们会在开发的工程中,从团队的主干中分离出来,进行特殊的工作,而为了不让这些特殊的操作影响项目的进度和产品的上线,就从主干上复制一份当前的完整代码,交给某些人进行特殊功能的开发,如果在产品上线之前,这个分支的问题能够得到很好的解决的话,就会将分支的功能模块合并到主干上,为主干增加光采,当然分支的另一个主要功能是进行不同阶段的代码的备份。

  tag(标记)是一个比较特殊的分支,存储的都是已经上线的产品。产品1.0上线之后,大家当然要继续埋头苦干为了2.0而加班加点,这个时候如果一旦发现1.0版本有很严重的bug,那么这个时候的操作就是在1.0的tag版本上创建另外一个分支,在这个分支里修改bug,同时主干的工作必须继续进行,尽快的进行产品bug的修复,之后将修改完的版本合并到主干中去,这样主干的工作没有收到影响,而且即时的解决了bug,并且以后的2.0版本也没有这个同样的bug了。