如下内容是从公司团队协做开发角度阐述本人观点,若有雷同,纯属巧合。 git
1.svn已成熟 windows
目前svn已经发展成熟,而git正在茁壮成长。环境搭建方面,svn可使用Subversion Edge来快速建立,按照文档,十分钟左右咱们能够搭建完毕,内置的viewvc可让咱们在图形界面中建立仓库,管理用户,管理权限等。而git了?至少目前我没有发现此类的工具。 安全
【我用过的有tig, gitk等客户端。git命令自己就能够完成管理工做,为何还要其余工具?】 服务器
客户端方面,svn的客户端已经堪称完美,好比TortoiseSVN或者与eclipse集成的插件,让咱们操做svn都变得简单 网络
【git操做很简单;svn复杂到要集成客户端才变的简单?】 eclipse
。集成方面,svn历史悠久,基本全部的开源软件均可以与svn进行集成,而且文档比较齐全。 svn
【cvs历史更悠久,是否是比svn还好?】 工具
2.svn简单易学 学习
不得不认可,svn简单易学,也比git容易理解。他的workflow很是的clear,checkout->modify->commit,流程符合咱们的思惟,也容易理解。 spa
【微软的VSS理解更简单,原理是windows下的网络文件共享,符合全部使用windows的人思惟,请问有谁在用么?】
3.git真的快么?
提起git的优势,不少人第一反应时说git快,我想问的是svn慢么?首先咱们的工做环境基本都是局域网,局域网中去checkout、commit能慢?起码咱们公司在5秒内能够完成。其次,git的快是指提交的时候快,而不是push的时候,在咱们的团队开发中,不少时候都须要你push,你光提交对于你的战友来讲毫无心义。最后,git适合离线工做,我想说,我这种苦逼不多有离线工做的时间。
【局域网环境下,什么慢?我在局域网下直接复制几百兆的文件不压缩,也不以为慢】
4.svn真的不安全么?
不少人都说,git不怕版本库丢失,由于每一个人手里都有一个版本库。再反问下,svn怕?第一,svn服务器挂掉或者版本库被删除概率很小,若是一个公司连这个都不重视,他还重视什么了?第二,大家难道不对svn的版本库进行备份么?若是连这些基本的都不作,那我只能说愿上帝保佑你。
【照这么说,要什么服务器,代码放在本身机器上也很安全,硬盘挂掉的概率很小,我也绝对不会误删(程序元连这个都不重视我还重视什么了?】
5.建立分支,打tag不方便?
确实,git建立分支很简单,只须要建立一个2KB文件,而且切换分支、合并分支都很简单,而svn相对确很复杂。针对这方面,考虑下,咱们建立分支的机会多么?按照正常的工做流程,咱们是在发布新版本的时候才会建立分支、打tag,大家公司不会天天都发布新版本吧?而且svn建立分支也不是那么糟糕吧?
【svn能建本地分支么?不是每一个分支都要传到服务器上的,你难道历来不写试验代码么?你的代码都是一次在脑子里勾画好的么?】
6.svn迁移到git不容易
首先,你得进行知识培训,让你的团队了解git、学会使用git。其次,你得配置好你的git服务器,包括用户管理、权限管理、数据安全等。再者,你得调整与svn相关的其余软件,好比咱们经常使用到redmine、jenkins。
【30分钟的学习便可掌握git的经常使用基本用法,比你熟悉的svn简单多了】
【何况,难道由于惧怕培训就不进取了么?为何那么多人从cvs迁移到svn了呢?可能cvs流行的时候,你还没入行呢吧?】
最后,我想说,git真的很牛逼,我也在使用,在某些特定的场合或者在您的团队,git可能就能体现出他的价值。
【最后,我想说,git既然这么nb, 不用不免很2b】