android版本控制

来源:互联网 发布:PHP str_split函数例子 编辑:程序博客网 时间:2024/06/15 11:16

        版本控制是一种在软件工程开发过程中,确保由不同人员编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动,并为每次改动编上序号,并且编辑错误之后还可以回溯到以前的版本。

版本控制系统的优点:

        1.备份源代码

        2.可以方便的进行代码的回溯

        3.可以记录是谁提交的代码

        4.控制代码的访问权限

        5.解决多人开发代码带来的代冲突

        6.掌握员工的工作量


可供选择的版本控制系统

        1.VCS(version control system)

是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。用的比较多的如svn,gitt等

        2.VSS(Visual Source Safe)    CVS

VSS:它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调。

CVS:是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS。

         3.ClearCase、SVN(Subversion)、Perforce、TFS(Taobao FileSystem)

ClearCase:做配置管理的工具,只是SCM管理工具其中的一种。是RATIONAL公司开发的配置管理工具,类似于VSS,CVS的作用,但是功能比VSS,CVS强大的多,而且可以与WINDOWS资源管理器集成使用,并且还可以与很多开发工具集成在一起使用。但是对配置管理员的要求比较高。

SVN:是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

Perforce:轻便快速的SCM工具

TFS:是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能

           4.Mercurial(水银/水星)、Git

常用的版本控制系统有SVN和Git


Android Studio协作开发
 1、Android Studio支持的协作开发插件
    1.SVN
    2.Git
    3.CVS

    4.VCS
    5.Mercurial
 2、在AS使用SVN与Git
    1.导入导出工程
    2.提交代码
    3.更新代码
    4.还原代码
    5.忽略相关文件
    6.解决代码冲突
    7.查看修改历史
 3、如何利用版本控制工具进行团队协作开发
    1.设置访问权限
    2.配置忽略
    3.解决代码冲突
    4.有风险的功能在分支下操作,开发成功再进行合并
    5.讨论和代码审核


SVN与Git的区别
   1.SVN是C/S结构,集中式;Git分布式,也可以有服务端
   2.SVN客户端只有工作区域;Git客户端有工作区域和本地仓库
   3.SVN不能离线操作;Git可离线操作,可日志和进行本地提交
   4.SVN速度慢;Git速度快
   5.SVN是按文件方式存储;而GIT把内容按元数据方式存储
   6.SVN的分支就是版本库中的另外的一个目录;而Git同一个工作目录下
   7.SVN有一个全局版本号;而Git没有
   8.GIT的内容存储使用的是SHA-1哈希算法,所以内容的完整性要优于SVN
   9.SVN的checkout对应Git的clone、pull、fetch
  10.SVN的update对应Git的checkout
  11.SVN的delete对应Git的rm
  12.SVN的commit对应Git的push

0 0
原创粉丝点击