千家信息网

Git和SVN的区别是什么

发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,这篇文章将为大家详细讲解有关Git和SVN的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。A存储方式不一样  Git按照元数据的方式将文件的
千家信息网最后更新 2025年02月19日Git和SVN的区别是什么

这篇文章将为大家详细讲解有关Git和SVN的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。



A
存储方式不一样

  Git按照元数据的方式将文件的一个版本存入了一个类似与K/V数据库,而SVN是按照文件的方式进行一个存储。Git的内部有一个类似于K/V的数据库,我把他理解为是一个Map,我们将内容存储到Git的数据库内后,Git会返回一个Key给我们,这个Key是唯一的(把一模一样的内容上传进去,这个key也是唯一的)。演示如下:
  1、使用git init demo命令创建一个Git仓库;
  2、使用cd demo进入demo这个Git仓库下;

  3、使用echo 'this is demo' >> demo.txt命令创建一个demo.txt文件,并在文件内写入this is demo;使用ls命令查看是否有demo.txt这个文件;使用vim demo.txt查看demo.txt文件内是否为'this is demo';
  4、使用git hash-object -w demo.txt命令将demo.txt文件里面的内容存储进Git的数据库中,其中第二个红色框框的内的值"25b3c07137f646bf05bdd00c42d2a4c5bc831bb7"就是Git的数据库返回给我们的K;
  5、可以通过git cat-file -p 25b3c07137f646bf05bdd00c42d2a4c5bc831bb7命令去将值取出来;
  6、再使用命令创建一个demo1.txt文件,里面同样放进去的是"this is demo"看看他们的K是否一样;

  这就是Git存储数据的方式了,SVN不同,SVN存储数据的方式其实就是把文件复制一份进行存储。

B
使用方式不一样

  从本地把文件推送到远程服务,SVN只需要commit而Git需要add、commit、push三个步骤。
  使用SVN开发者只要把文件修改了,只要commit其他开发人员就可以直接checkout下来。如下图所示:

  但是Git就不相同了,Git如果要从本地将修改后的文件提交进入远程仓库再从远程仓库将其他开发者修改后的文件checkout下来需要以下几个步骤:
  1、首先把修改后的文件通过add添加到我们的暂存区;
  2、然后通过commit命令将暂存区的文件提交到本地仓库;
  3、最后通过push命令将本地仓库的文件存入到远程仓库;
  4、要通过clone命令将远程仓库的文件拉到本地仓库;
  5、最后通过checkout将本地仓库的内容取出来;
Git使用过程如下图所示:

C
管理模式不一样

  Git是一个分布式的管理系统,而SVN是远程集中式的管理系统。
  如果说SVN的远程仓库挂掉了,那我的本地项目再也不能做提交,也不能做分支的切换,也不能够干和版本管理相关的任何事情,这就是集中式管理的缺陷了。集中式管理方式如下图所示:
  在项目内有一个Git仓库,也就是说在本地一个项目包含一个完整Git仓库,Git仓库是在项目内的,远程仓库能干的事情本地的Git仓库也能干。本地仓库和远程仓库通过四种主要传输协议相关联(本地协议、Http协议、SSH协议、Git协议)。Git还支持远程仓库里面的多个远程仓库。

关于Git和SVN的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

仓库 文件 命令 数据 方式 存储 内容 管理 数据库 就是 项目 开发 开发者 文章 更多 步骤 版本 知识 管理系统 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 未来教育网络技术补丁百度 软件开发企业的成本科目 数据库脚本怎么整理 中国人民银行网站查数据库 服务器安装了显卡驱动蓝屏 5g手机网络安全有什么用 新乡直播软件开发费用 软件开发工作细分 私服魔域服务器 宝塔怎么看数据库启动没 服务器硬盘一般存有什么 sql数据库无日志不能附加 linux服务器性能指标 数据库系统包含哪两个 一个软件开发成功了怎样运行 无线传感器网络技术期末考试 优化自己的网络技术 哪种数据库可以用sel查询 腾讯有支持软件开发的么 数据库 城市代码 时序数据库能做什么 四动模式 筑牢网络安全 中国气象网络安全第一 互联网科技创新素质教育绘画 科技的最高境界就是互联网吗 签订软件开发合同的注意事项 软件开发项目转给别人 如何考察一个软件开发公司 福建智能化网络技术收费标准 数据库返回数据格式java
0