• 大话Git系列之初识版本控制系统(1)


    前言:何谓版本控制系统呐?有两种说法:一种叫法为SCM,==source code management (源代码管理系统)另一种说法为VCS,==version control system(版本控制系统),既然两种叫法都可以的话,姑且把她叫成版本控制系统吧,从名称不难看出此系统一是用来解决代码的其二是用来更新版本的。

    发展历史

    刚开始并没有版本控制系统一说,很多人编写代码的过程中会把代码存起来,这样越来越多的代码写在一个文件中,带来了太大的冗余,也对修改代码带来了很大的不便捷的情况,在一本《程序员修炼之道:从小工到专家》书中提到一个例子说老板问下面的员工说昨天的进度怎么样,代码有没有做出来?其中有点员工会说老板我没做出来,有的员工却说自己做出来了,但是被猫吃了。WHAT!!!这尼玛。。。所以后来慢慢为了解决在开发过程中,经常需要对一个文件进行修改甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂这些问题,提出了版本控制系统。

    什么是版本控制系统?

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统管理,我们开发当中的文件或者资源,特别是多人的开发时更是离不开!

    版本控制系统实现哪些功能呢?

    记录文件的所有的历史变化

    随时可恢复到任何一个历史状态

    多人协作开发或修改

    对修改后的错误恢复

    多功能的并行开发

    版本控制系统的分类?

    本地版本控制系统(Local vcs

    优点:简单,管理文本文件

    缺点:只适合少量的文件 不支持网络 不支持基于项目的管理,无法实现多人协作 支持的文件类型比较单一

    主要的代表:RCS(Revision C ontrol System

    实现模式:

    集中化版本控制系统(Centralized vcs

    优点:适合多人团队协作开发 代码集中管理 

    缺点:出现单点故障,恢复难度大,必须连接网络,无法单机本地工作

    代表:CVS(Concurrent Version System) SUBversion

    实现模式:

    分布式版本控制系统(Distributed VCS

    优点:适合多人团队协作开发,代码集中化管理,可以离线工作,每个计算机都有一个完整仓库 (每个计算机都是一个仓库)

    代表:Git,Mercurial

    实现模式:

    未完待续。。。。

  • 相关阅读:
    TypeError: can't compare offset-naive and offset-aware datetimes bugfix
    pg_restore数据库恢复指令
    第四十期百度技术沙龙笔记整理
    JS事件模型小结
    matlab Newton method
    Markdown 语法的简要规则
    iOS社交分享Twitter、Facebook、拷贝到剪切板、LINE、及邮件
    Linux系统调用过程分析
    iOS自己定义返回button(不影响返回手势)
    MAVEN项目模块化
  • 原文地址:https://www.cnblogs.com/yxd000/p/11264613.html
Copyright © 2020-2023  润新知