git 和cvs svn似乎差别不大,都是服务器端管理源码库,客户端下载,编辑,提交更改。 所谓的分布式体现在什么地方,如果git算分布式,那么cvs svn是不是也算分布式?
一般指的是去中心化;去中心化是分布式的子集。 git 可以在没有中心服务器的情况下完成几乎所有所有工作;而 svn 你总得有一个 server 端充当中央仓库,哪怕是跟 client 装同一台电脑上。 无论是 git 也好、svn 也罢,都是版本控制工具,从来没说自己是团队协作工具。 git 可以在没有一个中央仓库的情况下完成代码的版本控制管理工作,甚至你都不需要联网。比如你需要出差 2 个月,不能连公司内网电脑,但还是得写代码啊,难道这 2 个月内你就干脆不 commit 了,等回公司再一次性提交好几十、几百个文件上去?这时候用 git,你想怎么 commit 怎么 commit、想怎么 revert 怎么 revert,等回公司再 push / merge 就好了。当然了,也可能需要解决冲突,但 svn 不也一样可能冲突? 而且因为可以没有中央仓库,所以 git 中任意两个节点,都可以彼此做交换,也就是每个节点直接的身份是相同的、平等的,不存在 server / client、master / slave 之分。而用 svn,两个 client 想同步代码,你只能先提交到中央仓库、然后另一台从中央仓库上拉取。 以上就是去中心化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。