zoukankan      html  css  js  c++  java
  • 大话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

    实现模式:

    未完待续。。。。

  • 相关阅读:
    js获取input文本框内容问题
    Windows下更改pip镜像源
    php用mysql方式连接数据库出现Deprecated报错
    FTP服务与配置
    mySQL安装与基础配置
    httpd安装与配置(编译安装)
    Samba简介与配置(匿名&本地用户验证)
    NFS服务简介与配置
    OpenSSH配置与基本使用
    spark 提交任务学习
  • 原文地址:https://www.cnblogs.com/yxd000/p/11264613.html
Copyright © 2011-2022 走看看