Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
283 views
in Technique[技术] by (71.8m points)

git所谓的分布式体现在什么地方?

和cvs svn似乎差别不大,都是服务器端管理源码库,客户端下载,编辑,提交更改。

所谓的分布式体现在什么地方,如果git算分布式,那么cvs svn是不是也算分布式?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

一般指的是去中心化去中心化分布式的子集。

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 想同步代码,你只能先提交到中央仓库、然后另一台从中央仓库上拉取。

以上就是去中心化


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...