[git/svn]Git和SVN差异
转自:http://blog.csdn.net/huacuilaifa/article/details/19124635
在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序员的比学工具,于是开始广泛收集了一些Git的电子书籍、网站等着自己“有时间”去消磨,一直拖到现在。由于自己实验室的项目的版本控制一直用的是SVN,先将二者区别总结如下:
1、版本控制的进化
本地版本控制系统 集中化版本控制系统 分布式版本控制系统
区别1:GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,最核心的区别;
GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。
区别2:Git直接记录快照,而非差异比较
Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。
其他系统在每个版本中记录着各个文件的具体差异
Git保存每次更新时的文件快照
区别3:近乎所有操作都是本地执行
在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。
[git/svn]Git和SVN差异相关推荐
- Git简介以及与SVN的区别
Git是由著名Linux内核(Kernel)开发者Linus Torvalds为了便利维护Linux而开发的. Git是一个分布式的版本控制系统.作为一个分布式的版本控制系统,在Git中并不存在主库这 ...
- 从VSS到SVN再到Git 记Git的基本操作
Source code control 一直是软件开发过程中重要的环节,从最初的纯文件备份,到使用工具进行管理.Source code control 工具的作用也不仅仅只是单纯的对同一个版本进行管理 ...
- 版本控制概述|VSS/CVS/SVN/Git比较|Windows下SVN搭建详细介绍
版本控制介绍 常用版本控制技术 vssVisual SourceSafe cvsConcurrent Versions System svnSubversion git 区别转自网络 SVN使用简介 ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- phpstrom配置svn/git提交
在setting选项Version Control中选择Subversion,正确配置SVN/Git的命令行路径,比如我的Git路径:F:Program FilesGitbingit.exe 将当前目 ...
- CVS,GIT,Mercurial和SVN比较
最近关于DVCS讨论的如火如荼,转一篇4个著名VCS的比较 特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交 ...
- Git 、CVS、SVN比较
项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial 目前Google Code支持SVN.Git.Mercurial三种方式,例如:我上传的 linux-ke ...
- SVN Git 设置忽略目录 大全
eclipse中SVN设置 用svn控制版本,svn本身是不会识别哪些该传,哪些不该传,这就导致有些关于路径的东西(比如拓展jar的路径)也被上传了,而当别人下载后,那个路径对于这个人可能完全不存在, ...
- python svn模块_使用Python实现一键批量更新SVN/Git模块的脚本
现在我们开发的过程中,大都是模块化的工作方式,咱们的工程源码结构就是N个模块,N个SVN/Git地址,如果需要更新就得手动一个个的操作,弄起来实在太麻烦了,之前我都是写批处理来实现批量更新的,现在来使 ...
- VSS SVN GIT SVN 加锁签出
VSS TFS SVN GIT VSS 两大功能: 1.签出后加锁,别人不能签出,独占签出. 2.在服务端可以查看哪些用户签出了哪些文件. 3.查看所有签出未签入的文件列表,SVN未发现此功能. 缺点 ...
最新文章
- ​​《自然》2020年十大科学发现出炉:病毒,冷冻电镜与快速射电暴
- 前沿报告|AI系列报告之:智能计算芯片
- 帧中继中配EIGRP(hub-spoke)
- java后台 flex前台例子_flex+blazeds+java后台消息推送(简单示例)
- 在windows下安装Redis
- 华为 招聘 状态 查看_英特尔放弃5G芯片研发:三星受益;爱立信2019年Q1净利润约2.51亿美元;华为也将要与高通和解;天津首个5G电话成功打通...
- 如何快速学习一门新的编程语言?零基础开始学编程,就可以这样!
- java传递引用参数
- IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0‘
- SpringBoot项目读取json配置文件
- Laravel框架——增删改查
- 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用...
- 使用开票组件快速开具清单发票
- JAVA编写一个加密及解密程序
- 用python求正方形面积是多少_长方形正方形面积的计算
- 艾泰(UTT)WiFi短信验证:无线上网热点短信认证设置流程
- 真正的人工智能能实现吗_如何实现真正的人工智能
- 用jQuery合并表格中相同文本的相邻单元格
- Arduino Uno + PAJ7620U2 实现手势识别控制LED灯工作
- 运维常用工具命令/知识总结
热门文章
- Linux启动加载过程解析
- linux禁止客户端上传文件_图片/文件上传如此简单|macOS 图床客户端 uPic
- 树莓派悄悄放了个微软“后门”,系统加入微软源却未告知,用户怒了
- 一天三场签约,百度Apollo智能交通这速度,真快!
- IccFileHandler和IccRecords
- ONOS项目首赢11000次下载 Oracle发布云路由
- Android EditText
- C++ 继承与接口 知识点 小结(一)
- hibernate逆向工程生成的实体映射需要修改
- ChemDraw 15.1 Pro插入阿尔法可以这样做