美文网首页
版本控制工具 git与svn(分布式vs集中式)

版本控制工具 git与svn(分布式vs集中式)

作者: 肆时江雨 | 来源:发表于2018-09-27 10:18 被阅读0次

摘要:版本控制,即记录一个或若干文件内容变化,以便将来查阅特定版本修订情况以及回溯的系统。

集中式--svn

SVN, 全名Subvision; 作为集中式版本控制工具,版本库集中存放在中央服务器,team里每个人work时从中央服务器下载代码,是必须联网才能工作。个人修改后然后提交到中央版本库;对比最早的版本控制工具--cvs,svn解决了cvs的不稳定性,现在是开源社区的主流集中式版本控制工具.

Subversion的特点概括起来主要由以下几条:

1.每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;

2.获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;

3.提交必须有网络连接(非本地版本库);

4.提交需要授权,如果没有写权限,提交会失败;

5.提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;

6冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能冲突.(建议每次提交前update)

分布式--git

Git ,开源的分布式版本控制系统,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库.

简略的说,Git具有以下特点:

1.Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。

2.Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。提交完全在本地完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。

3.甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。

4.Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

5.冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。


优缺点对比(面试常见)

SVN优点:
1、 管理方便,逻辑明确,符合一般人思维习惯。
2、 易于管理,集中式服务器更能保证安全性。
3、 代码一致性非常高。
4、 适合开发人数不多的项目开发。
缺点:
1、 服务器压力太大,数据库容量暴增。
2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、 不适合开源开发(开发人数非常非常多)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

Git优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、学习周期相对而言比较长。
2、不符合常规思维。
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

总结:

工具没有好坏,只有适不适合;集中式在传统的企业团队开发里优势明显(推广成本,安全性),而分布式面向开源项目,或者工作机制比较自由的团队,个人。

相关文章

  • 图解Git相关工作流

    集中式(svn) VS 分布式(git)版本控制系统 1. 集中式(svn) 2. 分布式(git) git文件状...

  • SVN使用知识总结

    一. SVN和Git区别 SVN : 集中式的版本控制工具Git : 分布式的版本控制工具 二. SVN介绍 SV...

  • GIT笔记

    Git教程-廖雪峰 Git简介 分布式vs集中式 git是版本控制系统,与svn不同的是git是分布式,svn是集...

  • Git使用笔记

    Git介绍 Git是分布式版本控制系统 集中式VS分布式,SVN VS GitSVN和Git主要的区别在于历史版本...

  • Git基础笔记

    Git介绍 Git是分布式版本控制系统 集中式VS分布式,SVN VS GitSVN和Git主要的区别在于历史版本...

  • Git笔记

    Git笔记 Git介绍 Git是分布式版本控制系统 集中式VS分布式,SVN VS GitSVN和Git主要的区别...

  • 源代码管理工具

    1 SVN 集中式版本控制工具: 2 git 开源的分布式版本控制工具,git提交时可以在本地提交 svn和git...

  • NODE和ROMISE之常用的版本控制系统

    SVN/GIT:集中式对比分布式 常用的版本控制系统:SVN(集中式)、GIT(分布式); Git:分布式版本控制...

  • Git笔记

    Git是分布式版本控制系统 集中式VS分布式,SVN VS GitSVN和Git主要的区别在于历史版本维护的位置G...

  • 一.git的简单介绍与SVN的对比

    一.git简介 一款开源的分布式版本控制工具而svn是集中式版本控制器 二.集中式与分布式版本控制器的区别 1.集...

网友评论

      本文标题:版本控制工具 git与svn(分布式vs集中式)

      本文链接:https://www.haomeiwen.com/subject/uiisoftx.html