博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[git/svn]Git和SVN差异
阅读量:5335 次
发布时间:2019-06-15

本文共 750 字,大约阅读时间需要 2 分钟。

转自:

在参加百度的开源项目时接触到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 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

 

转载于:https://www.cnblogs.com/aaronLinux/p/5782139.html

你可能感兴趣的文章
Clojure编写一个阶乘程序 使用递归
查看>>
【转载】Vim查找替换及正则表达式的使用
查看>>
【进程线程与同步】5.3 创建与联接线程
查看>>
判断两个字符串是否相等【JAVA】
查看>>
谈谈我是怎么学习PHP的(一)
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
[No00005D]如何高效利用GitHub
查看>>
按键扫描程序,仅三行程序(转)
查看>>
协议和代理
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法(转)...
查看>>
[转]iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用
查看>>
Spring mvc初学
查看>>
python标准库学习7
查看>>
有意思的代码片段
查看>>
德银:预计中国房地产行业在2018年面临“严重调整”
查看>>
jQuery选中元素与样式改变
查看>>