关于Git和SVN的对比
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的对比的更多相关文章
- git和svn的对比
- 对比 Git 与 SVN,这篇讲的很易懂
---恢复内容开始--- 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 导语 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始 ...
- 用好Git 和 SVN,轻松驾驭版本管理
用好Git 和 SVN,轻松驾驭版本管理 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,并总结平时工作高频率使用到的 Git 常用命令. 一.Git vs S ...
- GIT和SVN之间的区别及基本操作对比
1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- 【转载】git命令和svn的对比
首先,要明确的是,git和svn是完全不同的两种管理方式.他们的命令不是完全对等的. 下面只是一些相似方法的参考,而已. 参考 http://blog.csdn.net/chen198746/arti ...
- git与svn对比
git 与 svn 对比 git的使用不需要联机 SVN集中式版本控制:每个人的版本都是提交到服务器,服务器坏了就雪崩.git分布式版本控制: 安全,每人本地有个版本库,每个人都可以充当‘服务器 它 ...
- Git和Svn对比
From: https://wenku.baidu.com/view/1f090e2e7275a417866fb84ae45c3b3567ecdd12.html Git和Svn对比 共享文档 ...
- Git 与 SVN对比详解
一.Git vs SVNGit 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 Gi ...
随机推荐
- Zabbix探索:网络设备监控1
近期需要大量添加网络设备,为了避免以后在节点100上出现问题,所以特地申请了一台虚拟机,用作代理110. 虽然Zabbix模板中的英文很简单,但是为了同事着想,还是将大部分内容汉化了,避免今后说理解不 ...
- ACM2123(一个简单的问题)
一个简单的问题 问题说明 在这个问题中,你需要做N * N的乘法表,就像样品.第第i 行和j 个列中的元素i和j的乘积(乘积). 输入 输入的第一行是一个整数C中表示测试用例的数量,然后C的测试用 ...
- 【转载】计算机视觉(CV)前沿国际国内期刊与会议
计算机视觉(CV)前沿国际国内期刊与会议这里的期刊大部分都可以通过上面的专家们的主页间接找到1.国际会议 2.国际期刊 3.国内期刊 4.神经网络 5.CV 6.数字图象 7.教育资源,大学 8.常见 ...
- HDU-4607 Park Visit bfs | DP | dfs
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4607 首先考虑找一条最长链长度k,如果m<=k+1,那么答案就是m.如果m>k+1,那么最 ...
- jqgrid在页面出来竖型滚动条自动调整列宽
在项目中使用jqgrid的时候,需要设置在页面竖型滚动条出来的时候,列宽进行调整 1. 判断jqgrid的宽度是否和页面的宽度不一致(判断滚动条是否出来) 2. 调整jqgrid的列宽,因为jqgri ...
- maven 本地仓库的设置
设置方式一: 安装好maven后,在maven安装目录的conf文件夹下有一个settings.xml文件,该文件就是用来配置maven的一些常用参数 %MAVEN% / conf / setting ...
- Eclipse hangs on loading workbench, eclipse停在启动界面的处理办法
http://stackoverflow.com/questions/8972034/eclipse-hangs-on-loading-workbench 解答一: In most cases, rm ...
- JVM 必备指南
简介 Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码.更通俗地说,JVM是指对这个规范的 ...
- unigui多页签UI框架
procedure TMainForm.openForm(Caption, FormClassName: string);var i: integer; sheet: TUniTabSheet;beg ...
- Oracle- 提示查询结果不可更新,请使用...更新结果。
我们在对Oracle数据库进行操作时,有时会在查询完结果后想要对其中的某些数据进行操作,当我们点击编辑(一个锁标志)是,会提示我们上述问题中的错误:这些查询结果不可更新,请使用ROWI或者SELECT ...