相信有不少开发的同学遇到过这些问题:

1、自己正在使用git,想推荐其他人使用git却说不出所以然

2、当有人问“svn很简单很好用,为什么要用复杂的git?“你没法有理有据的说服他。

今天我们就来理一理git相比svn有哪些优势吧。

SVN的优势

1、功能简单、常规操作就是提交和更新,团队使用推广成本低

2、版本号严格要求递增,很容易进行版本比较。

GIT的优势

1、git比svn性能更好,使用更流畅

2、git是基于分布式的设计,去中心化的,这能保障在中央git仓库无法访问的情况下,其他终端的仓库有完整的仓库文件,不受影响,并且任何终端都随时可以将自己变成中央仓库。

3、基于第二点的分布式设计,你可以在本地随意操作版本,git commit 只是提交到本地,不会污染中央仓库,而svn commit 就直接提到到理中央仓库。

4、git有更优秀的分支管理,你可以快速的在几十个分支间流畅切换,但SVN每个分支都是一个copy副本,这带来文件系统的负担。

5、github 等社区的火热,推动理git的生态发展,如果你想要获得一个优秀的”轮子“这需git clone。

6、在大型研发项目中,git的分支管理能有效的配合迭代任务计划,确保项目的不同版本能得到有效的管理。

7、svn 项目可以很方便的迁移为git项目。

如何在团队内部推行GIT?

如果你想在团队内部推行git,这不仅仅要求你对git本身非常熟悉。还需要你能做到以下几点:

1、知识传播

可以进行2-3次,每次30分支左右的,团队内部git使用培训。

后期这个还需要在研发会议中,进行不断对技术细节加强。因为在git使用过程中,肯定会有团队成员犯错,比如覆盖理代码,误删除了分支等。

2、总结问题

理论上git可以解决项目研发中的版本控制所有问题,但还是会遇到一些需要讨论的问题,比如某个版本需要切分为多个git分支进行并行开发,分支如何进行统一规范标准化命名。

不同的分支在什么时候进行合并,这些都有在实际研发中不断总结和实践,知道做出一套符合项目实际情况的管理规范。

3、关键先生授权

一项技术的推动,单靠热情是无法在企业内部实施的,需要找到”关键先生“,他可能是你的直属领导或老板,你要说服他们使用git的理由,带来的收益,让他们从行政成名给于支持和肯定。

4、AB测试、小范围试点

可以做小范围项目试点,不用以下对技术变革全面铺开,即便你的团队再小,一次性铺开将承受很大的压力。所以最好方法是找一个合适的小的项目,进行小范围的试点1-2个月,进行观察和问题跟踪,后期再逐步铺开。

5、建立标准和规范

上面4点完成后,最后还需建立标准化流程和规范。这也有助团队协作效率提升。比如新来一个开发人员,你不需要单独告诉他如何写git commit message ,他只需要看文档就知道应该如何写。所有的协作都有文档规范指引,没有按照规范做的成员就是在犯规。

从svn导入多个项目_GIT和SVN相比有哪些优势?如何在团队内部推行GIT?相关推荐

  1. idea 从svn导入多个项目_IDEA导入项目简单教程

    该教程用于IDEA初学者导入eclipse项目,或者导入其他已经写好的Java源程序的简单教程. 我们用IDEA打开一个已经写好的项目源文件时,如果没有配置好,就会出现:JDK配置失误报错.程序无法启 ...

  2. svn 导入的 web项目怎么变成了java项目了

    javaweb项目从svn检出后变成java项目,解决办法是: 1.项目右键–properties–Project Facets,勾选上Dynamic Web Module .Java 两个复选框.点 ...

  3. IDEA + SVN 导入eclipse项目

    参考博文https://blog.csdn.net/hsany330/article/details/78093060,加了自己的见解,感谢这位博主! IDEA + SVN 导入eclipse 项目 ...

  4. maven导入多模块项目

    maven导入多模块项目 一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二.eclipse通过SVN导入到工作空间 工 ...

  5. 项目不需要SVN控制的时候,该怎么办

    今天要用一个项目,当项目不需要SVN控制的时候,我们一般怎么办哪?可能很多人设置Windows显示隐藏文件,然后将项目中的所有.svn文件删除. 下面,从网上找了个非常简单的方法 第一步:建立一个名字 ...

  6. 从svn导入项目后处理一些报错信息

    1.导入项目后"JRE System Library"报小红叉的处理! 有的时候我们从svn导入新项目之后,可能"JRE System Library"这个部分 ...

  7. 导入已有项目到svn

    版本管理一直是程序员使用频率比较高的一个工具软件.不管你是自己使用还是使用别人提供的svn服务,svn的使用技巧都一个必须掌握的技术.为止小编专门制作了关于svn使用技巧的系列文章.今天我们先来介绍一 ...

  8. php中svn上传项目直接访问不了,phpstorm8 通过svn导入项目后项目右键列表里没有subversion选项,无法提交和更新啊?...

    phpstorm8 通过svn导入项目后项目右键列表里没有subversion选项,无法提交和更新啊? 我其他的项目有啊!新导入的只有local history 这是什么原因,另外发现两个项目的.sv ...

  9. eclipse 使用svn导入web项目

    svn导入的项目默认的是普通项目,将其转为web项目 项目报错 导入成功

最新文章

  1. Altium Designer批量把一些元件从顶层换到底层
  2. MySQL等值传播(low!就是一层窗户纸)
  3. (三)Solrj4到Solrj5的升级之路
  4. POJ 2251 Dungeon Master
  5. PHP学习笔记--抽象类和抽象方法的应用
  6. “速课小龙”项目冲刺3
  7. python关键字的意思_python 关键字(Keywords)
  8. 计算机中常见的英语错误提示,BIOS出错英文提示信息大全 -电脑资料
  9. weui开发文档_微信小程序云开发挑战赛 之体验
  10. 麦块服务器显示登录yyy,服务器检索 - 找服玩|Minecraft服务器列表
  11. 主分区损坏diskgenius_DiskGenius怎么修复损坏分区 显示主分区损坏解决方法
  12. SoundHound:根据哼唱的旋律找到你想要的歌曲
  13. iOS 联系在线客服功能
  14. 共享服务中心建设原则-《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》
  15. xp计算机连接不上网络打印机驱动,解决win10无法连接到XP计算机共享打印机
  16. 世界上最大的问题,就是最大的商业机会
  17. ASEMI整流桥KBP310功能引脚图解
  18. python 累乘函数_python之函数(二)
  19. java math tan_Java Math tan() 使用方法及示例
  20. Davinci视频采集驱动文档

热门文章

  1. Build the initrd image
  2. virtio-fs: A Shared File System for Virtual Machines
  3. (1)Linux进程调度
  4. DELL服务器如何使用iDRAC安装操作系统
  5. shadow阴影属性
  6. UniversalVideoView
  7. listview的简单实现
  8. java struts2 上传图片_Java框架Struts2实现图片上传功能
  9. Docker安装实践Jenkins
  10. 使用TensorFlow.js的AI聊天机器人一:检测文本中的情绪