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等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并 ...
随机推荐
- ORM模型类介绍,
所有的软件开发过程中,都会涉及到对象和关系型数据库,在用户层面和业务逻辑层面,程序员编写代码都是面向对象的,当我们对象的信息发生变化的时候,都需要将对应的信息,传到关系型数据库中.而在此之前,需要我们 ...
- linux在二进制文件中查找pattern的offset
参考:http://stackoverflow.com/questions/14141008/grep-offset-of-ascii-string-from-binary-file strings ...
- if语句基本练习需求
1.需求:键盘录入一个成绩,判断并输出成绩的等级. 90-100 优 80-89 良好 70-79 中等 60-69 及格 0-59 不及格 import java.util.Scanner; cla ...
- JavaFx开发桌面软件
JavaFx开发桌面软件 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #839496;} Jav ...
- 使用雪花算法为分布式下全局ID、订单号等简单解决方案考虑到时钟回拨
1.snowflake简介 互联网快速发展的今天,分布式应用系统已经见怪不怪,在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同当业务还需要不同 ...
- ASP.NET Core 2.1 JWT Token 使用 (二) - 简书
原文:ASP.NET Core 2.1 JWT Token 使用 (二) - 简书 接上文,https://www.jianshu.com/p/c5f9ea3b4b65 ASP.NET Core 2. ...
- css 图片有间隔多个Img标签之间的间隙
今天写css时发现,图片加起来刚好是900px的三张图片,不能在一个900px宽容器放下,因为图片之间有间隔,我猜是浏览器把两个img标签之间的空格当成了空白节点. 在网上找到了几个不错的解决方法: ...
- IMU预积分
https://www.sohu.com/a/242760307_715754 http://www.sohu.com/a/243155537_715754 https://www.sohu.com/ ...
- linux起源及centos安装
第1章 Linux介绍 1.1 什么是操作系统 是一个人与计算机硬件的中介 Linux:内核+shell+扩展软件 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可 ...
- webpack 模块热替换的理解和使用
模块热替换(webpack文档上也叫 Hot Module Replacement 或 HMR)是 webpack 提供的最有用的功能之一.它允许在运行时更新各种模块,而无需进行完全刷新. 这句话其实 ...