分布式(git)&中央式(svn)

什么是分布式版本控制系统?

以下VCS(version control system)为版本控制工具:

分布式和中央式的区别 在于,分布式 VCS 除了中央仓库之外,还有本地仓库:团队中每一个成员的机器上都有一份本地仓库,这个仓库里包含了所有的版本历史,或者换句话说,每个人在自己的机器上就可以提交代码、查看历史,而无需联网和中央仓库交互——当然,取而代之的,你需要和本地仓库交互。

中央式的中央仓库有两个主要功能 :保存版本历史、同步团队代码。而在分布式 中,保存版本历史的工作转交到了每个团队成员的本地仓库中,中央仓库就只剩下了同步团队代码这一个主要任务。它的中央仓库依然也保存了历史版本,但这份历史版本更多的是作为团队间的同步中转站。

分布式的优点:

大多数的操作可以在本地进行,所以速度更快,而且由于无需联网,所以即使不在公司甚至没有在联网,你也可以提交代码、查看历史,从而极大地减小了开发者的网络条件和物理位置的限制。

分布式的缺点:

由于每一个机器都有完整的本地仓库,所以初次获取项目(git clone)的时候会比较耗时;
由于每个机器都有完整的本地仓库,所以本地占用的存储比中央式要高。
对于一般的程序项目而言,由于项目的大多数内容都是文本形式的代码,所以工程的体积都并不是很大,再加上文本内容自身的特点,VCS 可以利用算法来把仓库的体积极大地压缩。这就导致,在实际中,Git 等分布式 VCS 的仓库体积并不大,初次获取项目的耗时和本地仓库的存储占用都很小。所以对于大多数的程序项目而言,分布式 VCS 「尺寸大、初次下载慢」的问题其实并不严重。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,117评论 2 89
  • git和svn是目前最常用的团队协作的版本控制系统。 本人起初用过git,后来用过svn。算是两个版本控制系统都用...
    江湖相望知冷暖阅读 9,837评论 0 6
  • (一) 民警小王今年28,单身。 小王刚考入市局那天,王妈的社交圈陡然活跃了起来。各路好姑娘就像雨后的菌子一样野蛮...
    丧心病狂刘老湿阅读 11,177评论 49 123
  • 衣服上还有蜜汁糖藕的甜味,荷包里硬币的响声撩得人心浮气躁。 相见第一日话完了所有桑麻,今日不得不去捡拾地上的陈芝麻...
    Aprrrrrrril阅读 10,784评论 1 8