1.版本控制

什么是版本控制

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

版本控制系统

CVS

本地版本控制系统

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

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

1.png

例如:RCS
RCS原理:在硬盘上保存补丁集(补丁式文件修订前后的变化),通过补丁计算各个版本内容

集中化的版本控制系统(简称CVCS)

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

2.png

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

分布式版本控制系统(简称DVCS)

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

3.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,367评论 25 709
  • 闲的像一条咸鱼了已经。 可恶啊,come body!
    心的光阅读 1,265评论 0 0
  • 北京公园相亲角火了,火的不是一直以来热议的房子、工作薪酬、户口、学历等硬性条件,而是一句“可以轻度残疾,但...
    会稽草野阅读 5,212评论 6 7
  • 囧,好像成了我路途的主题。但在一次又一次的囧境囧遇之中,却收获了难得的记忆。 动车上: 穿花裙子的年轻奶奶,牵着那...
    阳光灿烂和佩奇阅读 1,589评论 0 0
  • 雨意绵绵似无休, 早醒赖床闻敲窗, 常约晨来健身起, 不爱淋雨爱抱被。
    风轻云淡蓝熙阅读 1,297评论 1 0

友情链接更多精彩内容