其他分享
首页 > 其他分享> > 分布式与集中式控制

分布式与集中式控制

作者:互联网

集中式和分布式的区别是:
你的本地是否有完整的版本库历史!
假设SVN服务器没了,那你丢掉了所有历史信息,因为你的本地只有当前版本以及部分历史信息。
假设GitHub服务器没了,你不会丢掉任何git历史信息,因为你的本地有完整的版本库信息。你可以把本地的git库重新上传到另外的git服务商。

才感觉真正明白(当然我也不太清楚我是不是真的明白)

我的理解是:Git 其实就是每个人电脑上都装一个svn服务器,你写了代码提交到自己电脑服务器上就是Commit;但是如果你想多人协作,就要把你的改动发送到你**每一个同事 **的svn服务器上就是push;

关于有人有疑问说

分布式的版本控系统如果要在多个人之间协作不也是需要一个像github一样的的远程版本库吗,这与集中式的有什么区别呢?

接着按照上面的理解,假如你还有10个同事,你每一次更改都要提交10次,其他同事有更改也要分别向我们提交,是不是觉得好烦,所以我们说干脆找一台固定电脑(服务器)用来统一规定把修改推给这台电脑,这样只需要提交1次就行了,其他人去这台机器上同步就好了。

发现没有,Git的中央服务器可以没有,我们只是为了方便才这么做的。

此时,如果这个中央服务器坏了,你只需要重新弄个电脑,把自己电脑上的同步一份过去,大家约定好都提交到这个新电脑上就行了。【所有的版本和历史都在,因为大家电脑上都是一样的】


而集中式的SVN就不同了,你从中央服务器上下载好完整的代码,正常工作(写代码)是可以,但是如果断网了,你就无法回滚版本;这时你可能谁说,先不提交,等联网了我再提交。

不好意思,这次断网是因为服务器报废了,是蒸发的那种,硬盘灰飞烟灭了。等你再次连上网的时候,就是你永远丢失了历史版本的时候,想回滚就只能靠做梦了。

 

转自:https://www.liaoxuefeng.com/wiki/896043488029600/896202780297248#0       自由之路Pogue的评论

 

标签:控制,git,版本,电脑,集中式,提交,服务器,分布式
来源: https://www.cnblogs.com/chencidiao/p/14696477.html