美文网首页
git与svn的区别

git与svn的区别

作者: mysimplebook | 来源:发表于2019-12-12 10:35 被阅读0次

SVN和Git分别作为集中式和分布式版本控制系统的代表。还有一个区别是Git 对待数据的方法。

CVS,Subversion,Perforce,Bazaar 等每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,即关心文件内容的具体差异,如下图所示:

而Git 只关心文件数据的整体是否发生变化,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就如下图所示

在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,Git 一无所知。这项特性作为 Git 的设计哲学,建在整体架构的最底层。所以如果文件在传输时变得不完整,或者磁盘损坏导致文件数据缺失,Git 都能立即察觉。

Git 使用 SHA-1 算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个 SHA-1 哈希值,作为指纹字符串。Git 的工作完全依赖于这类指纹字串。实际上,所有保存在 Git 数据库中的东西都是用此哈希值来作索引的,而不是靠文件名。

相关文章

  • 项目迁移Svn To Git

    Svn vs Git 详解可见: Git 和 SVN 之间的五个基本区别、Svn与Git的区别废话不多说直接开始教...

  • Git使用教程

    SVN区别 Git 与 SVN 区别点: 1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统...

  • git tag 操作

    git命令-通过tag修复线上bug 步骤如下: Git与SVN区别 Git和SVN正好相反,git提倡开发时拉分...

  • git / SourceTree - 整理

    git 一. git简介 Git是一款免费、开源的分布式版本控制系统。 二. git与svn区别 svn是集中...

  • svn与git的区别

    svn与git的区别 git是分布式的,svn不是。git跟svn一样有自己的集中式版本库或服务器。但git更倾向...

  • GIT

    学号:19021211263 一、SVN与Git的最主要的区别 说起git自然想到SVN,我刚接触到的版本控制工具...

  • 为什么使用GIT

    SVN与GIT的区别 概念SVN:集中化的版本控制系统GIT:分布式版本控制系统 文件记录方式SVN:记录每个文件...

  • 为什么使用git

    SVN与GIT的区别 概念SVN:集中化的版本控制系统GIT:分布式版本控制系统 文件记录方式SVN:记录每个文件...

  • 为什么纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结

    Git与SVN的区别 存储方式不同 Git把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版SVN已改...

  • 版本管理工具SVN和GIT

    SVN与GIT SVN与GIT都是代码管理工具。两者的区别也很明显。最大的是SVN可以在自己的服务器上运行,而GI...

网友评论

      本文标题:git与svn的区别

      本文链接:https://www.haomeiwen.com/subject/xqbzgctx.html