版本控制系统Git(一)——版本控制系统简介

什么是版本控制?

版本控制系统(Version Control System,以下简称VCS)就是一个用来记录文件变动历史的系统,便于之后切换回去查看你修改的历史;

举个最简单的例子,我们大家写毕业论文的时候,应该不会是一次就写好了,中间会有修改很多次,然后每次修改你都会保存一个修改的版本,有可能你会以修改的日期来命名,以便于在这些版本的基础上作进一步的修改,最终完成论文的撰写,那么这就可以看做是最基本的本地版本控制系统;

一、本地版本控制系统

在进一步,如果在上面的论文写作基础上加上一个数据库来记录文件的变动,那就是一个本地的版本控制系统啦,而这个工作在很久以前都被聪明的前辈发明使用了,现在还很流行呢:
这里写图片描述
那如果是一个人,使用这个本地的版本控制系统有一个很大的风险,就是不小心硬盘坏了,文件丢失;
那么如果是多个人合作呢?问题就更多了,你需要把你的文件拷给别人,项目小不是问题,但是项目很大呢?拷贝文件起来会很麻烦;
另外一个问题是,大项目都是分工合作,怎么及时的知道合作伙伴的工作进度,确定其他人跟自己的工作有没有冲突,及时的把大家的工作进行汇总,这些问题都是开发中最最常见的问题,本地的版本控制系统无法解决这些问题,所以使用起来就非常的不方便、效率低;

二、中心版本控制系统

聪明的前辈也发现了这个问题,并找到了解决办法——中心版本控制系统,常用的CVS,Subversion和Perforce就是这一类,:
这里写图片描述
简单的说,这类版本控制系统,有一个中心的服务器来记录整个的历史版本中的文件变动,客户端可以从服务器下载某一个版本的记录,很多年来,这是标准的做法;
它解决了很多本地VCS的问题:项目合作者、参与者知道了其他人在做什么,而项目管理者可以控制项目的进度和项目成员的工作内容;
但是它有也很多的缺点,最明显的就是,如果唯一的服务器挂掉了,那么客户端的开发者既不能通过服务器来跟其他开发者合作,也没有办法提交自己的工作;
更不幸的是,如果服务器的文件损坏了,并且没有备份的话,那么你损失会很大,几乎是所有的历史版本记录都会丢失,除了客户端下载下来的那些单个版本;

三、分布式版本控制系统

所以,革命尚未成功,同志还需努力改进VCS,于是就有了现在流行的分布式版本控制系统,目前比较流行的Git就是此类:
这里写图片描述

这类VCS的特点就是,客户端不仅仅拥有服务器server最新的版本,它复制了服务器整个仓库;所以如果服务器挂了,任何一个客户端中保存的版本都可以用来重建服务器的仓库。

好啦,关于版本控制系统就讲这么多了,大家应该对版本控制工具有了大概的认识,知道它的改进历史,以及他们的特点就可以啦;

更多有关Git的博客:

版本控制系统Git(二)——Git基础

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值