美文网首页
1.版本控制

1.版本控制

作者: 安朵仙 | 来源:发表于2017-03-10 14:19 被阅读0次

    什么是版本控制

    记录一个或若干文件内容变化,便于将来查阅。

    版本控制系统

    CVS

    本地版本控制系统

    复制整个项目,保存在不同文件夹中。
    优点:简单
    缺点:易犯错、易混淆、数据可能丢失

    问题:如何更好的进行版本控制?
    解决:本地版本控制系统。
    原理:大多采用简单的数据库来记录文件的历次更新差异。

    1.png
    例如:RCS
    RCS原理:在硬盘上保存补丁集(补丁式文件修订前后的变化),通过补丁计算各个版本内容
    集中化的版本控制系统(简称CVCS)

    问题:如何让不同系统上的开发者协同工作?
    解决:集中化版本控制系统。
    原理:有一个单一集中管理的服务器,保存所有文件的修订版本。协同工作的人们通过客户端连到这台服务器,取出最新的文件或者提交更新。

    2.png
    例如:CVS、Subversion、Perforce
    优点:
    可以看到别人在项目中做了什么
    方便管理员管理(开发者权限、只管理一个CVSC不用每个客户端都管理)
    缺点:
    中央服务器故障,宕机的时候谁都没法提交更新。
    中央数据库磁盘损坏,又没备份,所有数据都丢失了。
    分布式版本控制系统(简称DVCS)

    问题:如何解决CVCS的缺点呢?
    解决:分布式版本控制系统。
    原理:客户端把代码仓库完全镜像下来。

    3.png
    例如:Git、Mercurial、Bazaar、Darcs
    优点:
    任何一处服务器发生故障,都可以用任何一个镜像本地仓库恢复。
    许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。 你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。

    相关文章

      网友评论

          本文标题:1.版本控制

          本文链接:https://www.haomeiwen.com/subject/emgngttx.html