SVN与GIT工具使用对比
版本工具 差异 |
svn |
git |
系统特点 |
1.集中式版本控制系统(文档管理很方便) 2.企业内部并行集中开发 3.windows系统上开发推荐使用 4.克隆一个拥有将近一万个提交(commit),五个分支,每个分支有大约1500个文件,用时将近一个小时 |
1.分布式系统(代码管理很方便) 2.开源项目开发 3.mac,Linux系统上开发推荐使用 4.克隆一个拥有将近一万个提交(commit),五个分支,每个分支有大约1500个文件,用时1分钟 |
灵活性 |
1.搭载svn的服务器出现故障,无法与之交互 |
1.可以单机操作,git服务器故障也可以在本地git仓库工作 |
安全性 |
较差,定期备份,并且是整个svn都得备份 |
较高,每个开发者的本地就是一套完整版本库,记录着版本库的所有信息(gitlab集成了备份功能) |
分支方面 |
1.拉分支更像是copy一个路径 5.多分支并行开发较重(工作较多而且繁琐) |
1.我可以在Git的任意一个提交点(commit point)开启分支!(git checkout -b newbranch HashId) 4.比较适合多分支并行开发 5.git checkout hash值(切回之前的版本,无需版本回退) 6.强大的cherry-pick |
版本控制 |
1.保存前后变化的差异数据,作为版本控制 |
1.git只关心文件数据的整体发生变化,更像是把文件做快照,文件没有改变时,分支只想这个文件的指针不会改变,文件发生改变,指针指向新版本 3.git rebase操作可以更好的保持提交记录的整洁 |
工作流程 |
1.每次更改文件之前都得update操作,有的时候修改过程中这个文件有更新,commit不会成功 |
1.开始工作前进行fetch操作,完成开发工作后push操作,有冲突解决冲突 3.gitflow流程(经典) |
内容管理 |
svn对中文支持好,操作简单,适用于大众 |
对程序的源代码管理方便,代码库占用的空间少,易于分支化管理 |
学习成本 |
使用起来更方便,svn对中文支持好,操作简单,适用于大众 |
更在乎效率而不是易用性,成本较高(有很多独有的命令,rebase,远程仓库交互的命令,等等) |
权限管理 |
svn的权限管理相当严格,可以按组、个人针对某个子目录的权限控制(每个目录下都会有个.svn的隐藏文件) |
git没有严格的权限管理控制,只有账号角色划分(在项目的home文件下有且只有一个.svn目录) |
管理平台 |
有吧(这个“吧”字,肯定有,但本人没有接触过) |
gitlab(建议使用,集成的功能较多,API开发),gerrit,github等 |
SVN与GIT工具使用对比的更多相关文章
- [转]Git调用第三方对比工具beyondCompare
点击阅读原文 对于我这种 git 命令行小白来说, git 自带的对比工具各种水土不服,想念以前的 svn 小乌龟 + beyondCompare 的日子...纠结完 gitHub client 未果 ...
- 【转】SVN 与 GIT 详细对比
git和svn的详细对比 近期就[版本管理工具是否进行切换SVN->Git]的问题进行了讨论,于是对svn和Git进行了相关研究,进而梳理出Git的特点(优.缺点),最后将Git与SVN进行 ...
- 版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类
版本控制工具 版本控制VCS(Version Control Systems)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.这个系统可以自动帮我们备份文件的每一次更改,并且可以 ...
- SVN和Git对比梳理
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版 ...
- 代码管理(四)SVN和Git对比
在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版 ...
- 从SVN到Git最强指南
对于软件开发人员来说,版本控制系统他们再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.它的主要目的是实现开发团队并行开发.提高开发效率,对软件开发进程中 ...
- 如何用Android Studio同时使用SVN和Git管理项目
这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...
- SVN与Git比较的优缺点差异
目录: SVN与Git比较(一)集中式vs分布式 SVN与Git比较(二)版本库与工作区 SVN与Git比较(三)全局版本号和全球版本号 SVN与Git比较(四)部分检出 SVN与Git比较(五)更新 ...
- 版本控制工具Git工具快速入门-Linux篇
版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...
随机推荐
- ASP.NET Core中使用MialKit实现邮件发送
# 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...
- 获取Object对象属性的方法,Reflect.ownKeys, Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.keys,for in
let triangle={ a:1, b:2, c:3 } function coloTriangle(){ this.color='red'; } coloTriangle.prototype=t ...
- 实验吧——你真的会PHP吗?(intval范围 php中\00的利用)
题目地址:http://ctf5.shiyanbar.com/web/PHP/index.php 抓包在header中发现提示 访问得到源码 <?php $info = "" ...
- android studio学习---Live Templates
代表片段生成模版 比如fori
- Vue组件间通信6种方式
摘要: 总有一款合适的通信方式. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的 ...
- tomcat server.xml 中 host 元素
测试偶然发现: <Host name="127.0.0.1" appBase="webapps" unpackWARs="true" ...
- Golang 需要避免踩的 50 个坑(二)
前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷.如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到. 如果花时间学习官方 ...
- terminator
terminator 能够实现linux 终端的分屏显示. 安装 sudo add-apt-repository ppa:gnome-terminator sudoapt-get update sud ...
- 使用fio命令查看磁盘iops
具体命令: fio -filename=./localhost.2019-05-08.log -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psy ...
- 【IntelliJ IDEA新手入门】IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就 ...