1.4 git 和 svn比较
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
简单地说,Git是分布式而SVN不是分布式
一、SVN(集中式版本控制)
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器
每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
提交必须有网络连接(非本地版本库);
提交需要授权,如果没有写权限,提交会失败;
提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。
好处:每个人都可以一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限。
缺点:中央服务器的单点故障。
二、Git(分布式版本控制)
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。当各自的本地仓库文件更改之后,相互把更改推送给对方,相互就能看到对方的修改了
git每台电脑都有一个版本库,可以在本地做版本管理。而且每个工作成员可以任意在自己的本地版本库开启无限个分支,并且Git的分支名可以使用不同名字的。
但是Git 没有严格的权限管理控制,一般通过系统设置文件读写权限的方式来做权限控制。工作目录只能是整个项目。比如 checkout,建分支,都是基于整个项目的。而 svn 可以基于项目中的某一个目录。