【转】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等 |
【转】SVN 与 GIT 详细对比的更多相关文章
- svn与git操作对比 (未来有空做一个 svn与git实战对比 )
svn是集中式的,git是分布式的,但是我们日常使用的都是按照集中式唯一服务器仓库的方式来去做的,最终我们的代码都要提交到一个唯一仓库中. 他们最大的区别是本地工作拷贝的工作方式不同, 一.svn本地 ...
- git和svn的详细对比
近期就[版本管理工具是否进行切换SVN->Git]的问题进行了讨论,于是对svn和Git进行了相关研究,进而梳理出Git的特点(优.缺点),最后将Git与SVN进行了对比,对比结果详见下方内容. ...
- SVN和Git对比梳理
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版 ...
- 代码管理(四)SVN和Git对比
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版 ...
- git实践:对比svn
先前只用过svn,自然也没有去对比什么好坏,亲自上手之后发现svn和git实在是有很多不同 svn优点: 学习成本对比非常低 服务器公司统一控制管理 安全机制, 不会每个人都拷贝一份, 可以对组员限制 ...
- 【转】SVN与Git比较
摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...
- git详细使用教程入门到精通(史上最全的git教程)
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何 ...
- git 详细部署及其应用
第1章 版本控制系统 自动生成备份.随时回滚.知道改动的地方. 1.1 svn和git的区别 1.1.1 svn 集中式的版本控制系统,只有一个中央数据仓库,如果中央数据库仓库挂了或者不可访问,所有的 ...
- 02 SVN 与 Git 的优缺点
上一篇博客大致聊了聊关于版本控制系统的周边,这一篇我们就来继续唠唠作为近年来最受欢迎的两个版本控制系统的优缺点吧. 聊优缺点之前,先简单了解一下这两个这两个版本控制系统好了: 关于 SVN SVN 概 ...
随机推荐
- BZOJ1345 Baltic2007 序列问题Sequence 【思维题】*
BZOJ1345 Baltic2007 序列问题Sequence Description 对于一个给定的序列a1,…,an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用 ...
- 获取web.config 内的值
获取 System.Configuration.ConfigurationManager.AppSettings[DrugPackageRegistrationName]//获取web.config ...
- hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】
问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...
- 解决遇到Linux网络配置,从熟悉网络配置文件入手
如果接触过Linux,网络配置是一个比较棘手的问题.但是Linux是文件为基础来构建的系统,包括我们windows中设备,Linux也视为文件.所以只要我们明白文件的作用.就能对Linux更加的熟悉, ...
- "http://127.0.0.1:4723/wd/hub"的解释
先补充一个内容,就是appium安装时候的环境变量配置,必须要配ANDROID_HOME这个变量,不是“要配置”,是“必须配置”,其他的那些放到系统变量的path里就可以了: # coding: ut ...
- 从数据库导出数据到excel之List<map>导出
说明:很多时候取出来的数据是封装为List<Map<String,Object>>,可以直接导出excel表格 项目说明就在 “上一篇” 直接上代码(数据层和业务层不用说了,查 ...
- 随着tomcat一起启动一个线程
package test; import javax.servlet.*; public class MyCode implements ServletContextListener { //当Tom ...
- 【转】ubuntu 12.04 /sbin/ldconfig.real: /usr/local/lib/*.so.8 不是符号连接 解决办法
原文网址:http://blog.csdn.net/shulianghe/article/details/21176059 最近在ubuntu12.04下使用sudo apt-get install安 ...
- yum安装postgresql
https://wiki.postgresql.org/wiki/YUM_Installation
- bzoj 2406 矩阵——有源汇上下界可行流
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2406 二分答案.把 b 的 n 个行作为一排, m 个列作为一排,每行和每列之间连上下界为 ...