欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

大话Git系列之初识版本控制系统(1)

程序员文章站 2023-08-31 13:59:08
前言:何谓版本控制系统呐?有两种说法:一种叫法为SCM,==source code management (源代码管理系统)另一种说法为VCS,==version control system (版本控制系统),既然两种叫法都可以的话,姑且把她叫成版本控制系统吧,从名称不难看出此系统一是用来解决代码 ......

前言:何谓版本控制系统呐?有两种说法:一种叫法为scm,==source code management (源代码管理系统)另一种说法为vcs,==version control system

(版本控制系统),既然两种叫法都可以的话,姑且把她叫成版本控制系统吧,从名称不难看出此系统一是用来解决代码的其二是用来更新版本的。

发展历史

刚开始并没有版本控制系统一说,很多人编写代码的过程中会把代码存起来,这样越来越多的代码写在一个文件中,带来了太大的冗余,也对修改代码带来了很大

的不便捷的情况,在一本《程序员修炼之道:从小工到专家》书中提到一个例子说老板问下面的员工说昨天的进度怎么样,代码有没有做出来?其中有点员工会说

老板我没做出来,有的员工却说自己做出来了,但是被猫吃了。what!!!这尼玛。。。所以后来慢慢为了解决在开发过程中,经常需要对一个文件进行修改甚至删除

,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂这些问题,提出了版本控制系统。

什么是版本控制系统?

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统管理,我们开发当中的文件或者资源,特别是多人的开发时更是离不开!

版本控制系统实现哪些功能呢?

记录文件的所有的历史变化

随时可恢复到任何一个历史状态

多人协作开发或修改

对修改后的错误恢复

多功能的并行开发

版本控制系统的分类?

本地版本控制系统(local vcs

优点:简单,管理文本文件

缺点:只适合少量的文件 不支持网络 不支持基于项目的管理,无法实现多人协作 支持的文件类型比较单一

主要的代表:rcs(revision c ontrol system

实现模式:

大话Git系列之初识版本控制系统(1)

 

集中化版本控制系统(centralized vcs

 

优点:适合多人团队协作开发 代码集中管理

 

缺点:出现单点故障,恢复难度大,必须连接网络,无法单机本地工作

 

代表:cvs(concurrent version system) subversion

 

实现模式:

大话Git系列之初识版本控制系统(1)

 

分布式版本控制系统(distributed vcs

 

 

优点:适合多人团队协作开发,代码集中化管理,可以离线工作,每个计算机都有一个完整仓库 (每个计算机都是一个仓库)

代表:git,mercurial

 

实现模式:

大话Git系列之初识版本控制系统(1)

 

未完待续。。。。