1.git的提交是一个DAG有向无欢图.可以看到哥哥分支之间的合并关系.SVN的提交是一条直线.

2.git的提交版本号不是一个简单递增的数字,而是一个长达40位的十六进制数字(哈希值)

但是可以适用剪短的格式.只要不冲突.git的提交都记录了父提交甚至是双亲或者多亲提交,因此可以很容易的从任意

一个提交开始建立一条指向历史提交的跟踪连.

3.svn的分支和里程碑看起来和目录一样.

git的分支和里程碑名字虽然看起来像是目录,但是实际上和工作区的目录完全没有关系.只是对提交ID的一个记号而已.

4.SVN中的.svn目录不但有跟踪工作区文件状态的跟踪文件,而且还有每个文件的原始拷贝.

这样有的操作可以脱离网络执行了,例如:差异比较,工作区文件的回滚.

但是这样在进行内容检索的时候会搜索出两份,太干扰了,这样会造成本地文件名的信息泄露.千万不要在WEB服务器上用SVN检出.

Git的操作不需要网络.在本地就有完整的版本库.几乎所有的操作都是在本地完成的.

5.SVN的checkout检出命令在工作区创建时一次性完成;

Git 没有update命令,还要经常执行checkout命令.

SVN的update命令执行的很慢.之所以SVN经常要更新是因为SVN的版本库再远程.

Git的版本库是在本地.本地版本库会随着本地工作区中的操作(如提交)而更新.

Git的checkout检出操作经常用于用户切换分支.或者从本地版本库检出丢失的文件或者覆盖本地错误改动的文件

Git中的git fetch 和git pull也比较耗时的网络操作命令.这两个操作是从远程版本库获取他人的改动.

SVN的checkout命令和Git的clone命令挺像.

git的clone不但创建了本地工作区,而且在本地复制了和远程版本库一样的本地版本库.

SVN的update和git fetch,git pull类似.

6.Git的commit命令执行的那么快.因为Git的版本库就在本地.

也许会觉得SVN的commit命令和Git的push更像.其实这是个误会.

如果Git不做本地提交,是不能通过推送命令(git push)将我的本地提交共享给(推送给)

其他版本库的,SVN的每一次提交都 要和版本库进行网络通信.

Git可以在本地多次提交.知道主人想喝咖啡了才执行一次git push.将我的本地版本库中的的新提交推送给远程版本库.

关于Git和SVN的对比的更多相关文章

  1. git和svn的对比

  2. 对比 Git 与 SVN,这篇讲的很易懂

    ---恢复内容开始--- 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 导语 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始 ...

  3. 用好Git 和 SVN,轻松驾驭版本管理

    用好Git 和 SVN,轻松驾驭版本管理 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,并总结平时工作高频率使用到的 Git 常用命令. 一.Git vs S ...

  4. GIT和SVN之间的区别及基本操作对比

    1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...

  5. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  6. 【转载】git命令和svn的对比

    首先,要明确的是,git和svn是完全不同的两种管理方式.他们的命令不是完全对等的. 下面只是一些相似方法的参考,而已. 参考 http://blog.csdn.net/chen198746/arti ...

  7. git与svn对比

    git 与 svn 对比 git的使用不需要联机 SVN集中式版本控制:每个人的版本都是提交到服务器,服务器坏了就雪崩.git分布式版本控制:  安全,每人本地有个版本库,每个人都可以充当‘服务器 它 ...

  8. Git和Svn对比

    From: https://wenku.baidu.com/view/1f090e2e7275a417866fb84ae45c3b3567ecdd12.html Git和Svn对比   共享文档   ...

  9. Git 与 SVN对比详解

    一.Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Gi ...

随机推荐

  1. Mac OS 终端常用命令【搜藏】

    基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下.比如接上个叫 ...

  2. 安装zabbix server

    本文安装的zabbix版本为2.2 步骤 1.安装php 5.3.3 rpm -e `rpm -qa | grep php` rpm -ivh http://mirrors.163.com/cento ...

  3. java 实现死锁

    package 线程安全的讨论; class DThread implements Runnable { private Object o1=null; private Object o2=null; ...

  4. ZeroR-baseline分类器

    ZeroR分类器是一种最简单的分类器,这种方法仅仅根据历史数据统计规律,而选择一种概率最大的类别作为未知样本的分类结果,也就是说对于任意一个未知样本,分类结果都是一样的.ZeroR分类器简单的以多数类 ...

  5. C#编程中的66个好习惯,你有多少个?(转)

    http://www.cnblogs.com/jxsoft/archive/2012/01/11/2318824.html

  6. linux内核中与进程相关的数据结构(基于linux3.16-rc4)

    1.进程描述符 struct task_struct { volatile long state; ....... struct list_head tasks; ....... struct mm_ ...

  7. PTA 5-14 电话聊天狂人 (25分)

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数NN(\le 10^5≤10​5​​),为通话记录条数.随后NN行,每行给出一条通话记录.简单起见,这里只列出 ...

  8. ECSHOP在线手册之 数据库结构说明 (适用版本v2.7.3)

    1.account_log 用户账目日志表 字段 类型 Null/默认 注释 log_id mediumint(8) 否 / 自增 ID 号 user_id mediumint(8) 否 / 用户登录 ...

  9. linux教程:[4]配置Tomcat开机启动

    http://jingyan.baidu.com/article/6525d4b1382f0aac7d2e9421.html 方法/步骤 1 请自行下载安装配置tomcat的服务器环境 本经验仅仅介绍 ...

  10. 教你50招提升ASP.NET性能(十一):避免在调试模式下运行网站

    (17)Avoid running sites in debug mode 招数17: 避免在调试模式下运行网站 When it comes to ASP.NET, one of the most c ...