版本控制

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

版本控制最主要的功能就是追踪文件的变更。

版本控制器分类

集中式

版本库是集中存放在中央服务器的,工作的时候,使用自己的电脑,要先从中央服务器取得最新的版本,然后开始工作,结束后,再把自己的变更推送给中央服务器。

示例图:
什么是版本控制器

缺点是必须联网才能工作,操作时每一步都需要和服务器交互数据,对网络带宽要求很高,文件过大时速度很慢

分布式

分布式版本控制系统本身没有“中央服务器”,每个人的电脑上都是一个完整的版本库。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。

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

示例图:
什么是版本控制器

区别

以 SVN(集中式),GIT(分布式)举例

集中式(SVN) 分布式(Git)
是否有中央服务器 有。开发人员需要从中央服务器获得最新版本的项目然后在本地开发,开发完推送给中央服务器。因此脱离服务器开发者是几乎无法工作的 没有中央服务器,开发人员本地都有 Local Repository
网络依赖 必须要联网才能工作,而且对网络的依赖性较强,如果推送的文件比较大而且网络状况欠佳,则提交文件的速度会受到很大的限制 分布式在没有网络的情况下也可以执行commit、查看版本提交记录、以及分支操作,在有网络的情况下执行 push 到 Remote Repository
文件存储格式 按照原始文件存储,体积较大 按照元数据方式存储,体积很小
是否有版本号 没有
文件存储格式 按照原始文件存储,体积较大 按照元数据方式存储,体积很小
分支操作的影响 创建新的分支则所有的人都会拥有和你一样的分支 分支操作不会影响其他开发人员
提交 提交的文件会直接记录到中央版本库 提交是本地操作,需要执行push操作才会到主要版本库

参考文章:
廖雪峰的官方网站
集中式(SVN)和分布式(Git)版本控制系统的简单比较

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-05-31
  • 2021-04-08
猜你喜欢
  • 2021-11-30
  • 2021-12-15
  • 2021-12-26
  • 2021-10-19
  • 2021-08-10
  • 2022-12-23
  • 2021-09-09
相关资源
相似解决方案