前辈您好!分布式和集中式有点疑问
Topic source同感啊,另外svn挂了 我也可以找某个接近最新的传到服务器上啊,git也同样,我怎么确定最新源在哪里啊,肯定也得有个git中心,,的感觉 引用下(和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。)
本地建一个 svn 库,也可以实现离线开发,最后再merge;所以这不是他们的主要差别;
多数人只不过是人云亦云,中心化的,分布式的,不一样不一样,it sucks
具体差别应该去看 git 这个技术开发的历史,它的出现不仅仅解决了纯技术问题。
集中式和分布式的区别是:
你的本地是否有完整的版本库历史!
假设SVN服务器没了,那你丢掉了所有历史信息,因为你的本地只有当前版本以及部分历史信息。
假设GitHub服务器没了,你不会丢掉任何git历史信息,因为你的本地有完整的版本库信息。你可以把本地的git库重新上传到另外的git服务商。
- 1
桑榆未晚存霞满天
一、目前公司还是用的SVN,首先使用SVN把整个项目下载到本地,然后每天更新前一天同事提交的代码。因为是局域网速度还不错。
二、对于svn必须联网这一点,我们都是在一个办公室,所以用的都是局域网,速度可以接受,对于远程开发同步代码的情况比较少,暂时体会不深。如果是远程开发,使用分布式版本库,应该也会要联网去更新代码吧,这样的话,网速好坏也会影响提交的代码的效率。
三、说分布式去“中央服务器”化,我有点理解不了。 开发是首先会把整个项目代码都更新下来,所以对于每一个人的电脑来说,都有一套完整的代码,不更新也可以独立的干活。 分布式中的修改代码以后,如果不在中央服务器中交换自己的代码,那其他人照样也拿不到最新的代码。到最后如果修改同一个地方的代码还是要合并。这就有点像用SVN时,我把整个项目下载到本地,自己可以独立开发,如果不提交修改的代码,别人也看不到最新代码。但是也不会影响别人的开发。所以体会不出来分布式的和集中式的区别。