Git和SVN的区别是什么
这篇文章将为大家详细讲解有关Git和SVN的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
目前创新互联公司已为1000+的企业提供了网站建设、域名、网页空间、网站托管、服务器租用、企业网站设计、渭城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Git按照元数据的方式将文件的一个版本存入了一个类似与K/V数据库,而SVN是按照文件的方式进行一个存储。Git的内部有一个类似于K/V的数据库,我把他理解为是一个Map
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存储数据的方式其实就是把文件复制一份进行存储。
从本地把文件推送到远程服务,SVN只需要commit而Git需要add、commit、push三个步骤。
使用SVN开发者只要把文件修改了,只要commit其他开发人员就可以直接checkout下来。如下图所示:
但是Git就不相同了,Git如果要从本地将修改后的文件提交进入远程仓库再从远程仓库将其他开发者修改后的文件checkout下来需要以下几个步骤:
1、首先把修改后的文件通过add添加到我们的暂存区;
2、然后通过commit命令将暂存区的文件提交到本地仓库;
3、最后通过push命令将本地仓库的文件存入到远程仓库;
4、要通过clone命令将远程仓库的文件拉到本地仓库;
5、最后通过checkout将本地仓库的内容取出来;
Git使用过程如下图所示:
Git是一个分布式的管理系统,而SVN是远程集中式的管理系统。
如果说SVN的远程仓库挂掉了,那我的本地项目再也不能做提交,也不能做分支的切换,也不能够干和版本管理相关的任何事情,这就是集中式管理的缺陷了。集中式管理方式如下图所示:
在项目内有一个Git仓库,也就是说在本地一个项目包含一个完整Git仓库,Git仓库是在项目内的,远程仓库能干的事情本地的Git仓库也能干。本地仓库和远程仓库通过四种主要传输协议相关联(本地协议、Http协议、SSH协议、Git协议)。Git还支持远程仓库里面的多个远程仓库。
关于Git和SVN的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
新闻名称:Git和SVN的区别是什么
本文地址:http://pwwzsj.com/article/iegcog.html