版本控制工具(CVS、SVN、GIT)简介

发布于 2017-10-30 | 作者: FunTester | 来源: CSDN博客 | 转载于: CSDN博客

1、版本控制工具的功能

版本控制工具:
提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。

2、版本控制软件有

CVS 、Visual SourceSafe、PVCS 、SVN、GIT ......

2.1、CVS(Concurrent Versions System简介

2、功能介绍

一、 代码统一管理,保存所有代码文件更改的历史记录。对代码进行集中统一管理,可以方便查看新增或删除的文件,能够跟踪所有代码改动痕迹。可以随意恢复到以前任意一个历史版本。并避免了因为版本不同引入的深层BUG。
二、 完善的冲突解决方案,可以方便的解决文件冲突问题,而不需要借助其它的文件比较工具和手工的粘贴复制。
三、 代码权限的管理。可以为不同的用户设置不同的权限。可以设置访问用户的密码、只读、修改等权限,而且通过CVS ROOT目录下的脚本,提供了相应功能扩充的接口,不但可以完成精细的权限控制,还能完成更加个性化的功能。
四、 支持方便的版本发布和分支功能。

3、SVN(Subversion)简介

3.1、(SVN)集中式管理的工作流程

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。
管理流程如下图:

4、Git 简介

5、GIT开发工具的原理(与SVN不同)

分布式与集中式最大的区别:
在于开发者可以本地提交,每个开发者机器上都有一服务数据库。
流程如下图:

6、小结

Git是一款分布式的版本控制软件,相比SVN,功能更强大,自然而然操作更复杂一些。git在本地也是以git版本库的形式管理,而SVN在本地管理的仅是一个版本库的副本
Git和SVN相比,有很明显的一个不同点:
git你可以在本地做一些修改,然后commit到本地的版本库,最后push到服务器,而SVN只要一commit,更改就已经提交到服务器。