谈谈我了解的Git和SVN

作者: 7圈电池 | 来源:发表于2017-02-03 21:09 被阅读307次
其实写这篇文章,是出于最开始我自己对这2者之间也搞不太懂,后来学习使用了git,才明白之间的差距,似乎很小,又似乎完全不同!

上手区别

git上手复杂,明显的分为本地上的操作和与远程一套操作,更不要说团队开发了!

而svn,一开始的目的就很明确的是团队开发,而穷逼往往再Windows上开发,所以svn的图形界面使用也很简单明了(项目库,用户组,用户)!checkout, update ,commit 也是简单好用。

本地是否有一个版本库?

对于git,其本身在本地就是一个版本库,即可以在本地(不联网包括内网)对修改的项目版本进行提交操作,也正是因此,加大了git的复杂程度。

而svn,在处于单机模式下,是完全无法工作的,当你对当前版本做了修改又希望在没网的情况提交时,那么你只能再有网后提交,连接了svn服务端方可提交到服务端版本库。这样的机制,使得svn虽然不能在本地进行提交或者更新版本等操作,却比git的机制更快的与团队版本合并,因为当svn修改后,只能提交到服务端的版本库,而其本地是没有版本库信息的;git则是本地有一个版本库,相当于svn的那个服务端,可以进行无网络提交更新版本库。

那么换种思维,假如我是svn的客户端,我又在自己电脑上也装一个服务端,但这个服务端仅供我自己使用,那么我能一边连接自己的服务端,一边连接远程的中心服务端吗?答案是不能,因为每个与svn版本库关联的目录仅有一个.svn目录,里面仅能记录一套数据,一套服务器,不然当你在改目录下提交时,试问你要如何判断提交至何处呢?就算可以同时提交,在无网络时我提交到自己的服务器,当有网时我则提交到远程服务器,这种机制和git是否非常相似?但其效果却是有些许区别的?区别在哪呢?在于版本库信息,当无网络时,提交的服务端是本地的,此时版本信息存储在本地,如果进行多次提交,那么本地服务端的版本可能已经是4了,而服务器由于仅在有网时提交过2次,所以版本为2,且没有中间缺少版本的日志,也就没有某些版本的改动信息。毫无疑问,git的push是绝对将本地的版本信息推送到了远程的。这点只要多提交几次,再push后,查看github上的提交信息即可清楚。

所以,归根结底git与svn都是版本管理的好帮手,其主要不同点是一个相对简单(svn),一个项目复杂(git);一个是分布式的版本管理工具(git),一个是集中式的版本管理工具(svn)

相关文章

  • 谈谈我了解的Git和SVN

    其实写这篇文章,是出于最开始我自己对这2者之间也搞不太懂,后来学习使用了git,才明白之间的差距,似乎很小,又似乎...

  • Svn与Git的区别

    平时用git比较多,突然老师让装SVN,所以就了解了一下git和svn的区别 Git是分布式,但是Svn不是 Gi...

  • Git常用指令及流程详解

    Git基本概念了解 为了方便以及我们之后正确的了解Git的各个指令的操作含义,我们需要了解几个概念 Git和SVN...

  • Git常用指令及流程详解

    Git基本概念了解 为了方便以及我们之后正确的了解Git的各个指令的操作含义,我们需要了解几个概念 Git和SVN...

  • SVN迁移Git

    参考:GIt - 迁移到Git 构建user.txt 关联svn用户和git用户。 用git svn导入svn库 ...

  • SVN 的使用

    SVN 了解如何使用就可以 svn简介:源代码管理工具. CVS---------SVN---------git ...

  • git使用

    1.git和svn的区别①git分布式 svn是集中式(风险高)要很稳定才行②git和svn版本机制不同③git...

  • 项目迁移Svn To Git

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

  • Git | 绪

    绪 GIT和SVN的区别 GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,例如SVN、CVS...

  • git和svn

    GIT是分布式的,SVN不是GIT把内容按元数据方式存储,而SVN是按文件GIT分支和SVN的分支不同GIT没有一...

网友评论

  • c43e2ecac515:廖雪峰的git教程不错。
  • 7圈电池:那么什么是分布式,什么是中心式呢?初次看到这些的小白肯定不是很理解。我做下简单的比喻,假如说分布式就是多个设计师各自拿一张图纸分别画出自己的见解,那么中心式就是那几个设计师对着同一张纸画自己的设计,分布式的设计师画完后会相互整合出一张最终版的设计图!而Git与svn的区别也类似!

本文标题:谈谈我了解的Git和SVN

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