一、版本管理工具的介绍:

1、备份文件;

2、记录历史;

3、多端共享;

4、团队协作;

二、版本管理工具的发展史;

1、cvs: 集中式   1985;

2、svn:  集中式    2000;

3、git: 分布式    2005  linux之父开发;

三、集中式和分布式版本控制的区别:

1、集中式:版本库是集中存放在中央服务器,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最近的版本,然后开始干活,干完活,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回家自己改,改完了,再放回图书馆。

集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度都快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟。

2、分布式版本控制系统:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那么多人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们两个只需把各自的修改退送给对方,就可以互相看多对方的修改了。

和集中式版本控制系统相比,分布式版本控制系统的安全性要搞很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个人就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已

http://www.nowamagic.net/academy/detail/48160207

最新文章

  1. 打包SpringBoot工程并部署
  2. 3、eclipse和maven环境安装以及HDFS读写的demo
  3. LINQ使用
  4. python numpy 的运算
  5. Entity Framework with NOLOCK
  6. Java自定义缓冲区MyBufferedReader
  7. 学习在创建好的工程里面添加CoreData
  8. 不同版本的mysql字符集的默认编写
  9. JFinal极速开发框架使用笔记(三) 分析Model和ActiveRecord
  10. vue项目上传Github预览
  11. Struts2中文件上传下载实例
  12. Linux拉你入门
  13. manjaro使用国内软件源
  14. 使用XHProf分析PHP性能瓶颈(一)
  15. Python无限元素列表实例教程
  16. windows7所有版本迅雷地址下载集合(含32位和64位) - imsoft.cnblogs
  17. spring boot整合Swagger2
  18. 如何快速地编写和运行一个属于自己的 MapReduce 例子程序
  19. thread_indent
  20. 在PC上调试微信手机页面的三种方法

热门文章

  1. 使用Github第一节
  2. $ cat /usr/share/doc/wireshark-common/README.Debian
  3. svn 命令管理
  4. WPF使用异步+绑定的方式处理大数据量
  5. HDU 5239 Doom 线段树
  6. OpenSSL SNI
  7. loj2001 「SDOI2017」树点涂色
  8. web安全测试---AppScan扫描工具(转)
  9. Redhat7配置yum源(本地源和网络源)
  10. Leetcode27--->Remove Element(移除数组中给定元素)