还在用SVN的人,要不要学Git?

提出这个问题,是因为很多小伙伴还不会使用Git。

在Git之前,是SVN的天下。

SVN诞生于2001年,由于较为先进的管理方式而迅速取代了CVS。

很多80后小伙伴都是从SVN开始上手的,大家都熟练的敲着svn commit,或者使用可爱的小乌龟Tortoise。

而Git诞生于2005年,只比SVN晚了4年,是Linux创造者Linus基于开源社区的需求而开发的工具。

因此Git的出生就是基于分布式开发的,分布式理念此时还没有普及开来。

对于任何新一代的技术工具,它在业界推广都有一个过程,Git的阻碍是:学习成本、工具迭代的成本。

对个人学习来说,当时的国内资料较少,遇到问题不易解决。

对于公司来说,SVN中央控制式的系统,有利于代码的管理、权限控制等,设计理念也简单易懂,因此迅速被业界接受。

工具更换为Git,既有管理的不便,又有转换成本,因此公司改用Git的动力不强。

正因如此,Git的推广普及,相对缓慢一些。

当大家都习惯了使用SVN,Git就不是一个必要的工具了。

然而Git确实有其强大之处,主要体现在:分布式开发、分支功能、高效处理。

技术本身就是要更高更快更强的,这里以效果说话,在越来越多追求技术的小伙伴内心里,Git是未来。

以为自己为例,我之前也用了7年之久的SVN,而今终于在小公司里有机会用上Git。

说实话,用Git的体会就是:真爽。

Git的分支功能,完美解决了长线开发、短线开发、临时需求等多种任务的并行开发,SVN完全无法胜任这个工作。

而Git的高效速度,我也深刻体会到,提交一个1G的完整项目代码,只需10秒左右即可上传完成。

用了两个月,我深深的爱上了Git,以后谁让我用SVN,我跟谁急啊。

如果你跟我一样,长期使用SVN,还没机会学习一下Git,不妨上手实践一下。

说实话,真不难。

顺便,这里有一个免费的学习教程,给想学Git的小伙伴们。

教程地址:https://edu.aliyun.com/course/489?source=5176.11533457&userCode=lvpewm8c&type=copy

一起来用Git吧。

还在用SVN的人,要不要学Git?的更多相关文章

  1. Git SVN Clone 旧项目迁移到 Git 上

    Git SVN Clone 旧项目迁移到 Git 上 很久使用的是 SVN,但由于项目重启,想改为 Git. 之前的 SVN 仓库是本地,所以在 git svn clone 一直不成功. 正确的方式: ...

  2. 每个人都要学的图片压缩终极奥义,有效解决 Android 程序 OOM

    # 由来 在我们编写 Android 程序的时候,几乎永远逃避不了图片压缩的难题.除了应用图标之外,我们所要显示的图片基本上只有两个来源: 来自网络下载 本地相册中加载 不管是网上下载下来的也好,还是 ...

  3. python开发面向对象基础:人狗大战学面向对象

    一,通过函数写人狗大战这个故事 #!/usr/bin/env python #_*_coding:utf-8_*_ #1.函数 人模子 def person(name,level,life_value ...

  4. 多人协作解决方案,git flow的使用

    简介 Gitflow工作流程围绕项目发布定义了严格的分支模型. 为不同的分支分配了非常明确的角色,并且定义了使用场景和用法.除了用于功能开发的分支,它还使用独立的分支进行发布前的准备.记录以及后期维护 ...

  5. 如何用Android Studio同时使用SVN和Git管理项目

    这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...

  6. 不要困在自己建造的盒子里——写给.NET程序员(附精彩评论)

    此文章的主旨是希望过于专注.NET程序员在做好工作.写好.NET程序的同时,能分拨出一点时间接触一下.NET之外的东西(例如10%-20%的时间),而不是鼓动大家什么都去学最后什么都学不精,更不是说. ...

  7. 7年Java后端被淘汰,一路北漂辛酸史。。。

    作者:春天花会开foryou oschina.net/question/3465562_2281392 今天分享一位同行的经历: 本人Java开发6年半不到7年的样子. 英语专业,临毕业跟着隔壁专业去 ...

  8. svn总结 标签: svn开源软件 2015-05-09 17:31 513人阅读 评论(11) 收藏

    说到SVN,就不得不说CVS,CVS 是一个C/S系统,是一个常用的代码版本控制软件.主要在开源软件管理中使用.与它相类似的代码版本控制软件有subversion.多个开发人员通过一个中心版本控制系统 ...

  9. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

随机推荐

  1. 10_switch语句的使用

    /* switch 语句和c语言的用法不同 1.go语句是默认添加break语句的,但c不是默认的 2.go语句添加一个fallthrough语句,可以顺序执行接下来的结构 3.switch在关键词后 ...

  2. Mybatis与SQL Server类型转换遇到的坑

    一. MyBatis SQL语句遇到的性能问题 1. 场景还原 假设我们有一张User表,其中包含userId.userName.gender字段,其中userId的数据类型为char(20),此时我 ...

  3. 配置springboot项目使用外部tomcat

    配置springboot项目使用外部tomcat 1.在pom文件中添加依赖 <!--使用自带的tomcat--> <dependency> <groupId>or ...

  4. Oracle - View

    Oracle View的创建 Create Or Replace View ViewName As Select * From Tables/View Where 条件;

  5. mysql中的分组统计函数及其用法实例

    1.使用group by对数据进行分组:select 字段名... from tablename group by 字段名...:可以把分组.排序.统计等等都结合在一起使用,实际应用中也多是这样的: ...

  6. 树莓派4B安装64位Linux(不用显示器键盘鼠标)

    入手了树莓派4B,我对它的定位是作为一个Docker实验环境,平时用到的镜像多为Java服务端常用的技术.以及自己作的Java应用镜像,因此宿主机需要64位操作系统,而树莓派官方操作系统只有32位的, ...

  7. Erlang模块supervisor翻译

    概要: 通用监督者行为   描述: 一个实现监督者的行为模块,一个监督被称为子进程的其它进程的进程.一个子进程可以是另一个监督者或工作者进程.工作者进程通常的实现使用gen_event,gen_fsm ...

  8. RobotFramework自动化测试框架-MongoDBLibrary库的使用

    笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作. Mongo ...

  9. Kubernetes --- 详细介绍和架构详解

    Kubernetes是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构 目录 一. Kubernetes用途 二. Kubernetes特点 三. ...

  10. Linux 中 /proc/meminfo 的含义

    做嵌入式开发对内存泄露很敏感,而对泄露的位置更加关注.本文记录一下从网上搜集的/proc/meminfo各参数的含义.还不完整,待补完. 本文地址:https://segmentfault.com/a ...