git和其他版本控制系统的区别

  所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动。Git和其他版本系统的主要区别是Git对数据的重新思考。概念上说,所有其他的系统都是以文件为基础来保存信息。这些系统将信息视为一整套的文件以及对这些文件的修改。

Git并不这样看待数据。相反,Git将数据视为一系列的mini filesystem的快照。每次你commit,或者在Git中保存你的项目的状态,它将你的文件在那个时刻的状态做一个快照,并且保存对那个快照的引用。为了更加高效,如果文件本身没有做变更,git并不会重新保存一份,而仅仅重新引用这个已经保存过的文件快照。

Git对数据有如下的认识:

这是一个最根本的区别。Git几乎将版本控制的方方面面重新思考和践行。这使得Git更像一个mini filesystem with some incredibly powerful tools built on top of it.

当然,在概念上Git确实每一个commit都会对修改过的文件做一个整个copy保存,但是实际上,它也是考虑了delta存储的好处,只是做法有点不同

时间: 2024-10-07 21:05:22

git和其他版本控制系统的区别的相关文章

集中式和分布式版本控制系统的区别

SVN 是集中式的版本控制系统,而 Git 是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网

Git与SVN版本控制系统

关于版本控制 什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. Git:分布式版本控制体统, 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git的功能特性: 1.从服务器上克隆完整的Git仓库(包括代码和版本信息)到自己电脑上. 2.在自己的电脑上根据不同的开发目的,创建分支,修改增删代码. 3.在自

GIT(分布式版本控制系统)

Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1.从服务器上克隆数据库(包括代码和版本信息)到单机上. 2.在自己的机器上创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并. 6.生成补丁(patch),把补丁发送给主开发者. 7.看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交

要不要学习Git(分布式版本控制系统)

做技术的人,要不要学一学Git呢? 提出这个问题,是因为很多小伙伴还不会使用Git. 对于任何新一代的技术工具,它在业界普及都有一个过程,Git的阻碍是:学习成本.工具迭代的成本. SVN诞生于2001年,由于较为先进的管理方式而迅速取代了CVS. 很多80后小伙伴都是从SVN开始上手的,大家都熟练的敲着svn commit,或者使用可爱的小乌龟Tortoise. Git诞生于2005年,比SVN晚了4年,是Linux创造者Linus基于开源社区的需求而开发的工具,因此Git的出生就是基于分布式

VSTS中版本控制系统Git与TFVC的区别

VSTS(Visual Studio Team Services) VSTS简单说就是微软TFS(Team Foundation Services)的升级云版,不用像TFS需要在企业内部服务器上部署,并且是免费提供给用户使用的. 每个有微软账号(也是免费注册的)的用户都可以申请VSTS,官网申请入口.当然,免费用户是有一定限制的,比如:每个项目的成员不能超过5个等.不过一般中小型开发项目,5个人也够用了. VSTS有一点比GitHub好,免费用户也可以拥有private空间:GitHub上免费的

git(版本控制系统)的使用

git的简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 集中式版本控制系统(svn): 中间是中央服务器,其他所有电脑都需要从中checkout代码下来.只有中央服务器管理着各个版本的代码.其他电脑需要操作时都要和中央服务器交互.如果中央服务器离线或者故障,其他电脑就没法与中央服务器交互. 分布式版本控制系统(git): 分布式每一台电脑都有版本的Database,就不用担心中央服务器离线或者故障.因为本地就有版本的Database,所以可以实现离线操作

[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.html 前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为我们的代码管理提供了便利,本篇介绍一款思维方式完全不同(也可以说不合常理)的版本控制系统——Git.可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)

Git是目前世界上最先进的分布式版本控制系统

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了. Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库

版本控制系统git

6月30日学习笔记: 版本控制系统git: 1.应用:记录文件的所有历史变化随时可恢复到任何一个历史状态多人协作开发或修该错误恢复多功能并行开发 2.分类:本地版本控制系统集中化版本控制系统分布式版本控制系统 3.基本概念:repository -- 存放所有文件及其历史信息checkout -- 取出或切换到指定版本的文件version -- 记录标识一个版本(编号或其他代码)tag -- 记录标识一个主要版本(1.0 2.0 3.0) 本地版本控制系统(LVCS)如:RCS(在很多Linux