• 01-源代码管理工具的介绍


    源代码管理工具的介绍

    • 一.源代码管理工具的起源
      主要是为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题
    • 二.源代码会引发哪些问题?
      1.无法后悔:当做错了一个操作无法回到修改前的状态,比如xcode突然崩溃,再打开后,无法通过Command + Z返回.
      2.版本备份:当需要添加新功能或者对代码进行重构时,如果不备份,一旦添加新功能或者代码重构出现误操作,很难回到之前一个比较完善的一个版本(比如电脑丢掉,或者硬盘坏掉,又没有备份,那么之前的代码就再也找不回来了).如果进行备份,新功能多了,或者多次重构,备份的项目就会非常多,费空间,又费时间.
      3.版本混乱:在备份的时候,可能会给项目起不一样的名称,但是项目非常多的话,而且项目命名不是依照功能点来设定,会因备份过多,造成混乱,很难找回想要的那个版本.
      4.代码冲突:当我在修改一个文件的代码,同事也在修改这个文件的代码,最后,是用我修改的那份,还是用同事修改的那份呢,这就产生了代码冲突,在多人开发中,代码冲突非常常见,具体如何产生代码冲突,以及,产生了代码冲突之后,如何解决冲突,在后面的课程会详细演示.
      5.权限控制:比如公司里有个5人开发的小团队,这个时候来了个新人,新人肯定是需要看公司的源代码,又担心新人会随意的修改源代码,因此可能会造成源代码功能受损,而源代码管理工具可以对源代码管理进行精确的权限控制(比如可以读取源代码,但是无法写人),后面的课程中会演示如何去设置权限.
      6.追究责任:在公司中开发,大多数情况下都是多人开发,当项目发布后,或者某个版本成型后,这个时候一旦出现严重的bug,如果没有使用源代码管理工具,无法得知是谁干的,容易造成耍赖的情况,如果是使用了源代码管理工具,则可以通过源代码管理工具看到每个操作到底是谁做的,以此来达到追究责任的目的.
      7.源代码管理呢,就是为了解决上述问题而产生的
    • 三.源代码管理工具的作用
      1.能追踪一个项目从诞生到定案的过程:从一个app开始开发,一直到这个app完善的所有的功能发布到AppStore这个过程都可以通过源代码管理工具详细的记录.
      2.记录一个项目的所有内容变化:跟第一个作用类似,内容变化,包括增/删/改/回退等等操作,都能详细的记录
      3.方便地查阅特定版本的修订情况:一般一个版本完善之后,会对这个版本进行修订,并且记录该版本做了哪些功能(比如1.0,2.0,3.0,4.0等)
    • 四.现在开始使用源代码管理工具
      1.通过上述讲解,了解到源代码会引起的各种问题,如果是团队开发,使用源代码管理工具是强制性的
      2.如果是单人开发,可以使用也不可以使用,但是也强烈建议现在就开始使用源代码管理工具,因为使用源代码管理,就能避免上述介绍的问题造成的损害
    • 五.开始使用源代码管理的担忧
      1.使用源代码管理,非常简单,不会增加工作量
      2.不会对现有的工作造成现有的损害(比如使用前可以编译,使用后无法编译,不会出现这样的问题)
      3.使用源代码管理是一位合格的软件开发人员必须掌握的技术(如果你到公司里说,你没有使用过源代码管理,那么没有人会相信你之前做过开发)
    • 六.常见的源代码管理工具
      1.CVS
        *开始了版本控制之门,是最早的集中式源代码管理
        *诞生于1990年,是当时主流的源代码管理工具
      2.SVN
        *全称是Subversion,集中式版本控制之王者
        *诞生于2001年,是CVS的接班人,速度比CVS快,功能比CVS多且强大
        *目前在国内的使用率非常高,达到了70%-90%,因此SVN的学习非常重要
      3.GIT
        *一款伟大的分布式源代码管理工具
        *诞生于2005年,出自linux之父之手
        *目前被越来越多的开源项目使用,比如Github/OSChina
        *在国内尚未得到大范围的普及,不过由于GIT非常强大以及优秀,在国内也在慢慢普及,所以学习GIT也变得越来越重要

  • 相关阅读:
    leetcode-409
    leetcode-836
    leetcode-1160
    leetcode-面试题13
    leetcode-695
    go的一些小lib
    leetcode-300
    cookie
    php上传文件
    PHP 文件创建/写入
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/5270957.html
Copyright © 2020-2023  润新知