【VCS】-常见的版本控制系统(VCS)
来源:互联网 发布:最容易学的编程语言 编辑:程序博客网 时间:2024/06/06 01:42
一、什么是版本控制系统?
版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统
1、作用
记录文件的所有历史变化
随时可回复到任何一个历史状态
多人协作开发或者修改,共享数据
错误恢复
多功能的并行开发(分支功能、特性-合并操作)
追踪修改信息和责任人
2、分类
本地版本控制系统(local VCS)
集中化的控制系统(Centralizes VCS)
分布式的版本控制系统(Distributed VCS)
3、基本概念
repository——存放所有文件及历史信息
checkout ——取出或者切换到指定版本的文件
version ——记录表示一个版本(编号或者其他代码),某个特定状态下的资源
tag ——记录标识一个主要版本(1.0 2.0 3.0)
二、三种版本控制系统介绍
(1)本地版本控制系统(LVCS)——本地完整仓库(少用)
简介:在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。大多数采用某种简单的数据库来记录文件的历次更新差异。
最流行:RCS(Revision Control System)
优点:简单、很多系统中都有配置
适合管理文本文件
缺点:不支持网络
支持类型单一
只适合管理少量文件、不支持基于项目的管理
图示:
(2)集中式版本控制系统(CVCS)——服务器完整的仓库
简介:有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。
最常用:CVS(Concurrent Version System)
优点:适合多人团队协作开发
代码集中话管理
缺点:单点故障
必须连网操作,无法单击本地工作
图示:
(3)分布式版本控制系统(DVCS)——本地和服务器都有完整的仓库
简介:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
可以指定和若干不同的远端代码仓库进行交互。这样,你就可以在同一个项目中,分别和不同工作小组的人相互协作。
最常用:Git、Mercurial(HG)
优点:适合多人团队协作开发
代码集中化管理
可以离线工作
每个计算机都是一个完整仓库
图示:
三、版本控制系统(VCS)的前世今生
四、小结
在实践中体会版本控制系统的优劣,有了新的需求才有新的创造,不设限,不将就。
- 【VCS】-常见的版本控制系统(VCS)
- VCS(版本控制系统)
- 版本控制系统(VCS)的发展史
- 什么是版本控制系统(VCS)?
- 什么是版本控制系统(VCS)?
- 版本控制系统VCS小结
- Git版本控制系统VCS
- 版本控制系统(VCS→DVCS)
- 几种VCS(版本控制系统)的特点和异同
- 版本控制系统VCS —— Git操作
- 版本控制(VCS)发展史
- 版本管理工具vcs
- vcs的加密protect
- vcs随机化的使用
- VCS版本控制工具svn和git的小结
- VCS的 -ntb_opts 的问题
- VCS-3 VCS的模块机器工作原理
- synopsys的VCS破解过程
- Leetcode 405: Convert a Number to Hexadecimal
- HTTP 状态码
- ZOJ3203 Light Bulb[三分/推公式]
- 新书终于上市,小小炫耀一下
- Android Error:Failed to complete Gradle execution.
- 【VCS】-常见的版本控制系统(VCS)
- 一步一步详细搭建Spark集群在docker上
- 全局函数pk成员函数
- 二分查找
- 70. Climbing Stairs 类别:动态规划 难度:easy
- pyhooks方法实现键盘监控源码示例
- Hibernate学习笔记 多表映射
- CF - 55D 数位dp + 状压
- Ubuntu 如何安装 libpcap 库