SVN和Git的比较

原创 2016年08月29日 09:53:13

最近开始学Git,跟以前常用的SVN来做个对比,以便对双方的优缺点了解更多些。

其实Git和SVN还是挺像的,都有提交,合并等操作,看来这是源码管理工具的基本操作。


1. Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;

2. Git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要联网;

3. Git鼓励分Branch,而SVN,说实话,我用Branch的次数还挺少的,SVN自带的Branch merge我还真没用过,有merge时用的是Beyond Compare工具合并后再Commit的;

4. Tortoise也有出Git版本,真是好东西;

5. SVN在Commit前,我们都建议是先Update一下,跟本地的代码编译没问题,并确保开发的功能正常后再提交,这样其实挺麻烦的,有好几次同事没有先Updata,就
Commit了,发生了一些错误,耽误了大家时间,Git可能这种情况会少些。


大家也可以搜一搜Git和SVN命令的比对。


下面有一篇文章这样讨论,楼主认为SVN没什么用,我比较认同Ghoststears的观点。

有了GIT,SVN纯粹一垃圾 

Ghoststears:

任何事情,归根结底都是人的问题,工具只是工具。

SVN 是集中式的,会出现你说的耦合。但从另外一个方面来说,这也要求开发人员代码的规范:不要一个函数干很多事情,不要一个文件写很多个类。

另外,将不可运行的代码提交到任何版本控制系统中都是没有意义的。这也就是版本控制的核心思想之一。也就是提交的粒度:原子性。所谓的原子性,也就是完成一件任务,这个任务可以是一个函数声明,也可以是一个函数的实现,亦或是一个子系统。但这个任务的完成的标志就是代码可以运行,不能运行的代码,最多也就是完成了半个任务。这个是不符合版本控制思想的。试想,你 update 到某一个 version 的时候,代码竟然是不能运行的,是何心情???

将不能运行的代码提交,完全是开发人员素质或者公司管理流程、机制的问题。

另外,很多人都强调:我晚上下班了要在家里干活,不能提交!!!来抨击集中式版本控制工具。且不说对待工作和生活态度。先看看国内的企业,防员工如防贼的多的去了。有多少人能带着笔记本,把公司的源代码签出来呢???

版本控制系统中,工具只是其中一环。要结合公司的策略来选用合适的工具。版本控制 != 版本控制工具 !!!= 源代码管理。

最后,人各有喜好。上纲上线的,完全没有必要。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

版本控制工具比较-CVS,SVN,GIT

http://www.cnblogs.com/sujz/archive/2011/05/12/2044379.html 首先介绍几个版本控制软件相互比较的重要依据,更详细的比较请参考文中链接: *...

Git和SVN的比较

最近在学习搭建git服务器,也具体学习下了git相关知识。因而有想和svn想比较下。 在以前不同公司都有使用过git和svn,个人感觉都还挺方便的。具体到工具的整体性,没有深究,简单总结下个人对这两工...

CVS,GIT,Mercurial和SVN比较

特征CVSGitMercurialSubversion是否原子提交CVS: 没有. CVS提交不是原子的Git: 是的. 提交都是原子的Mercurial: 是的Subversion: 提交都是原子...

版本控制工具比较-CVS,SVN,GIT

转自:http://www.cnblogs.com/sujz/archive/2011/05/12/2044379.html 首先介绍几个版本控制软件相互比较的重要依据,更详细的比较请参考文中链...

SVN和Git的比较

1. Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交; 2. Git下载下来后,在本地不必联网...

CVS,GIT,Mercurial和SVN比较

原文地址:http://www.cnblogs.com/greenmile/archive/2010/04/20/VCS.html 最近关于DVCS讨论的如火如荼,转一篇4个著名VCS的比较...

【版本控制】git,svn,cvs 粗略比较

版本控制已经有很多年历史了,也出现了很多版本控制解决方案,但是有一些因为安全性低、不支持跨平台、不支持并发修改而逐渐淡出了人们的视野。这篇文章就来比较一下时下最火的三个版本控制工具:git,svn,c...

版本控制器:SVN和Git比较

在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?今天在此详细记录下: SVN(Subversion)是集中式管理的版本控制...

SVN和Git比较

多人协同工具 SVN和Git的简要介绍和分析。帮助大家选择适合自身情况的工具

SVN与Git比较

摘要 Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题。本文就这两种版本控制工具...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)