Git系列教程深入浅出-版本控制(一)

系列目录:

Git系列教程深入浅出-Git环境配置及Git常用命令(二)

Git系列教程深入浅出-Git基本理论(三)

Git系列教程深入浅出-Git项目搭建(四)

Git系列教程深入浅出-Gitee码云上传代码详解(五)

1. 版本控制

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
实现跨区域多人协同开发
追踪和记载一个或者多个文件的历史记录
组织和保护你的源代码和文档
统计工作量
并行开发、提高开发效率
跟踪记录整个软件的开发过程
减轻开发人员的负担,节省时间,同时降低人为错误
简单说就是用于管理多人协同开发项目的技术。

2.版本控制工具

主流的版本控制器有如下这些:
Git
SVN(Subversion)
CVS(Concurrent Versions System)
VSS(Micorosoft Visual SourceSafe)
TFS(Team Foundation Server)
Visual Studio Online
版本控制产品非常多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),现在影响力最大且使用最广泛的是Git与SVN。

3.版本控制分类

1、本地版本控制系统

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。它是在一台机器上,记录版本的不同变化,保证内容不会丢失。

但是,如果多人开发,每个人都在不同的系统和电脑上开发,没办法协同工作。

Git系列教程深入浅出-版本控制(一)_第1张图片

2、集中版本控制系统

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。

所有的版本数据都存在中央服务器上,中央服务器可以来管理代码的版本和备份,用户的本地只有自己以前所同步的版本,所有的用户电脑都是从中央服务器中获取代码或者是将本地的代码提交到中央服务器。

如果不连网的话,用户就看不到历史版本,也无法切换版本验证,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据(当然可以定期备份)。代表产品:SVN、CVS、VSS。

Git系列教程深入浅出-版本控制(一)_第2张图片

3、分布式版本控制系统

需要一台服务器作为代码仓库,所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史。用户可以本地离线提交,只需在联网时push到相应的服务器或其他用户那里。每个用户的电脑都是一个服务器(代码仓库),并且和代码仓库是镜像的,用户修改和获取代码都是提交到自己的服务器当中。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。

不会因为服务器损坏或者网络问题,造成不能工作的情况!

但因为每个人都拥有全部的代码,这存在着安全隐患!

Git系列教程深入浅出-版本控制(一)_第3张图片

Git是目前世界上最先进的分布式版本控制系统。

你可能感兴趣的:(git,git,java,linux,github,大数据)