git和svn的比较
当前的市场上主流的两种项目开发版本控制软件就是Git和SVN,那么这二者到底有什么区别呢?
在我们公司,其实两个都用,跟对个人体验,我觉得两者差不多,都是进行代码的版本管理。
我觉得1.由于我是实习生,公司针对我们用SVN多一些,因为这个里面涉及很多权限的东西,你要对某个svn操作,你就需要申请svn权限的啥的。
2.svn用在window下,采用了图形界面的工具乌龟svn,而git是通过命令端输入命令(没有权限设置)。
从二者的优缺点方面进行分析。
SVN
优点
管理方便,逻辑明确,符合一般人的逻辑规范采用集中式的管理方式,可以保证代码的安全性及一致性适合进行项目管理
缺点
对服务器造成的压力相对较大,在小项目中运行影响不大,一旦项目增大会影响服务器的使用性能要求服务器网络质量好,SVN将所有代码都放在服务器端,再往下分发,则会造成网络出现问题时开发者无法提交代码及管理员无法管理项目的问题由于集中式管理有非常明确的权限管理机制,而在开源项目中没有那么明确的权限配置,所以SVN不适合大规模的开源式开发
Git
优点
非常适合大规模、分布式开发,适合进行开源项目的开发给服务器的压力非常小Git采用离线开发的模式,不要求服务器网络质量好,每个人都可以从远程仓库中将一整个项目下载下来进行开发非常容易解决冲突
缺点
学习周期较长,SVN采用GUI界面开发符合操作习惯,而Git多采用命令行进行操作不太符合常规思维,更符合程序思维代码保密性较差,每个人都可以从远程仓库下载代码进行开发
当对开发过程中的权限要求比较高,需要集中式管理时推荐使用SVN
当对代码的协作要求比较高时,选择Git自然更好
git和svn的比较的更多相关文章
- GIT和SVN之间的区别及基本操作对比
1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...
- GIT和SVN之间的五个基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- GIT与SVN的区别
1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯 ...
- 蒋鑫:为什么 Git 比 SVN 好
在版本控制系统的选型上,是选择Git还是SVN? 对于开源项目来说这不算问题.使用Git极大地提高了开发效率.扩大了开源项目的参与度. 增强了版本控制系统的安全性,选择Git早已是大势所趋. 但对于企 ...
- git vs svn
http://www.tuicool.com/articles/e2MnAb Git与SVN的不同之处 svn为集中化的版本控制,svn获取最新的版本或者提交更新,历史记录等信息每次都要连接中央版本库 ...
- [git/svn]Git和SVN差异
转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序 ...
- git和svn的区别001
Git和SVN之间的五个基本区别 中文原文地址:http://blog.jobbole.com/31444/ 友情链接git和svn链接2:http://blog.csdn.net/sunboy_20 ...
- git 和 svn的区别(转)
英文原文:5 Fundamental differences between GIT & SVN,编译:外刊IT评论 如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机 ...
- git与svn的区别-小结一下
1)Git是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系 统,例如SVN,CVS等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并 ...
随机推荐
- chromedriver安装报错
解决方法: 可以使用 npm init -f命令生成package.json,package.json中缺少的字段可以参照模板 package.json进行填充,package.json中的字段 ...
- python 装饰器 第一步:基本函数
# 第一步:基本函数 def eat(): print('吃饭') # 调用 eat()
- UVA10271_Chopsticks
Chopsticks 大致就是有一堆筷子,知道了他们的长度,现在选长度为abc的三个筷子a<=b<=c为一对筷子,质量为(a-b)平方,现在选k双这样的筷子,求质量最小 思路: 第一次看到 ...
- Scrapy框架: 通用爬虫之CSVFeedSpider
步骤01: 创建项目 scrapy startproject csvfeedspider 步骤02: 使用csvfeed模版 scrapy genspider -t csvfeed csvdata g ...
- SpringCloud 使用Feign访问服务
Feign简介: 声明式的Rest WEB 服务的客户端, https://github.com/OpenFeign/feign.Spring Cloud 提供了Spring-cloud-start ...
- ThinkPHP3.2.3 目录介绍
ThinkPHP3.2.3 目录介绍,在开发中主要操作的目录就是在入口文件www/index.php中定义的www/application/文件目录了. www WEB部署目录 ├─index.ph ...
- W3C、MDN及html常用标签介绍
W3C 万维网(World Wide Web)是作为欧洲核子研究组织的一个项目发展起来的,在那里 Tim Berners-Lee 开发出万维网的雏形.Tim Berners-Lee- 万维网的发明人和 ...
- 2019 牛客多校第一场 B Integration
题目链接:https://ac.nowcoder.com/acm/contest/881/B 题目大意 给定 n 个不同的正整数 ai,求$\frac{1}{\pi}\int_{0}^{\infty} ...
- Ubuntu下安装chrome浏览器步骤
进入 Ubuntu 18.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或“终 ...
- 【串线篇】SpringMvc源码分析
一.DispathcherServlet结构分析 1).所有请求过来DispatcherServlet收到请求, 2).调用doDispatch()方法进行处理 1).getHandler():根据当 ...