【转】SVN 与 GIT 详细对比
【转】SVN 与 GIT 详细对比
git和svn的详细对比
近期就【版本管理工具是否进行切换SVN->Git】的问题进行了讨论,于是对svn和Git进行了相关研究,进而梳理出Git的特点(优、缺点),最后将Git与SVN进行了对比,对比结果详见下方内容。(有歧义的地方请评论指出!!!,THANKS)
版本工具 差异 |
svn |
git |
系统 |
1.集中式版本控制系统(更适用于项目文档管理) 2.更多用于企业内部项目并行开发 |
1.分布式系统(仅适用于代码管理) 2.更多用于通过开源项目开发 |
灵活性 |
1.搭载svn的服务器出现故障,无法与之交互 |
1.可以单机操作,git服务器故障也可以在本地git仓库工作 |
安全性 |
较差,定期备份,并且是整个svn都得备份 |
较高,每个开发者的本地就是一套完整版本库,记录着版本库的所有信息(gitlab集成了备份功能) |
分支方面 |
1.拉分支更像是copy一个路径 5.多分支并行开发较重(工作较多而且繁琐) |
1.只能针对整个仓库进行branch,一旦删除无法恢复 4.比较适合多分支并行开发 |
版本控制 |
1.保存前后变化的差异数据,作为版本控制 |
1.git只关心文件数据的整体发生变化,更像是把文件做快照,文件没有改变时,分支只想这个文件的指针不会改变,文件发生改变,指针指向新版本 3.git rebase操作可以更好的保持提交记录的整洁 |
工作流程 |
1.每次更改文件之前都得update操作,有的时候修改过程中这个文件有更新,commit不会成功 |
1.开始工作前进行fetch操作,完成开发工作后push操作,有冲突解决冲突 3.gitflow流程(经典) |
内容管理 |
svn对中文支持好,操作简单,适用于大众 |
对程序的源代码管理方便,代码库占用的空间少,易于分支化管理 |
学习成本 |
1.适用于普通的开发团队,使用起来更方便,成本较低 |
1.适用于开发者,水平高,更在乎效率而不是易用性,成本较高 |
权限管理 |
svn的权限管理相当严格,可以按组、个人针对某个子目录的权限控制 |
git没有严格的权限管理控制,只有账号角色划分 |
管理平台 |
有吧(注意这个“吧”字) |
gitlab(建议使用,集成的功能较多,API开发),gerrit,github等 |
posted on 2018-03-25 12:22 时空观察者9号 阅读(...) 评论(...) 编辑 收藏
【转】SVN 与 GIT 详细对比相关推荐
- SVN和Git对比梳理
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢? SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的 ...
- GIT与SVN的底层原理对比
GIT与SVN的底层原理对比 文件版本对比 文件版本对比 二者都是基于二进制文件存储; git是通过文件快照(相当于生成新的文件[如果文件内容发生变化]); svn是保存上下文件版本的差异性文件; g ...
- 02 SVN 与 Git 的优缺点
上一篇博客大致聊了聊关于版本控制系统的周边,这一篇我们就来继续唠唠作为近年来最受欢迎的两个版本控制系统的优缺点吧. 聊优缺点之前,先简单了解一下这两个这两个版本控制系统好了: 关于 SVN SVN 概 ...
- 版本控制器:SVN和Git比较
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?今天在此详细记录下: SVN(Subversion)是集中式管理的版本控制器,而 ...
- SVN和Git的比较
最近开始学Git,跟以前常用的SVN来做个对比,以便对双方的优缺点了解更多些. 其实Git和SVN还是挺像的,都有提交,合并等操作,看来这是源码管理工具的基本操作. 1. Git是分布式的,SVN是集 ...
- 转: SVN和Git的一些用法总结
转:http://www.codelast.com/?p=5719 转载请注明出处:http://www.codelast.com/ 以下都是比较基础的操作,高手们请绕道,不必浪费时间来看了. (A) ...
- 深圳软件测试培训:SVN与Git的差异
深圳软件测试培训:SVN与Git的差异 1. Subversion属于集中式的版本控制系统 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到 ...
- 软件测试——版本管理工具:SVN和Git
软件测试--版本管理工具:SVN和Git SVN SVN的安装和介绍 SVN的安装 操作 冲突 Git Git的安装和配置 git的命令行用法 git 代码冲突 持续集成和持续交付 定义 目的 持续集 ...
- Git 详细教程之五:SSH 免密登陆 GitHub
由于每次 Git 对远程库 GitHub 进行推送(push)等操作时都需要进行登陆验证才可以进行,比较麻烦.本篇博客提供了一种新的链接方式:『Git 详细教程之五:SSH 免密登陆 GitHu ...
最新文章
- 简述Python中的break和continue的区别
- Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库
- pythonweb开发-Web开发
- WSSv3 Technical Articles 系列文章
- git的使用1[转]
- ffmpeg 同宽度 画中画_FFmpeg中overlay滤镜用法-水印及画中画
- 嵩天python爬虫_我自己爬-python爬虫快速入门(一)
- ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本
- Pandas数据操作
- iOS 14.5广告跟踪功能使广告商在安卓支出增长21%
- SDN Overlay网络中虚机到物理机的数据包的转发
- Atitit java读取堵塞cmd命令行返回结果 java read maven 主要原理是另外线程读取标准流,错误流。。 回显增加out头,这样发布区分errstream和stdstream的
- 中望lisp加密_alisp文件加密测试.LSP
- 查询的端口 -解决端口被占用的问题
- TNF5SLNO 华为OSN1800全新原包装4路STM-16,8路STM-4或8路STM-1光接口板
- Excel表格将多个单元格内容合并到一个单元格中_工作中使用记录_2021-03-29
- 细读HTTPS -- SSL/TLS历史,密码学
- python 小游戏500行以内_README.md
- 计算机维护记录软件,Take-1 Recorder(电脑操作记录软件)
- 什么是css Hack