• Version Control


    Version Control:

      版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。

      为了让不同系统上的开发者能够协同工作,集中化的版本控制系统应运而生(CVCS)。这类系统都有一个单一的集中管理的服务器,保存所有文件的修订版本。而协同工作的人们都通过客户端连接到这台服务器,获取最新的文件或者提交更新。集中化的版本控制系统,最显而易见的缺点是中央服务器的单点故障问题。如果宕机,那么就会出现谁都无法提交更新的情况,那么也就无法协同工作;如果磁盘发生故障,而备份又不够即时,那么就有丢失数据的风险,最坏的情况是丢失整个项目的历史更改记录。因此,分布式版本控制系统问世了(DVCS)。

      在分布式版本控制系统中,客户端不仅仅是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。所以每一次提取的操作,都是对代码仓库的完整备份,因此也就不必担心协同工作用的服务器发生故障。

      Git和其他版本控制系统的主要差别在于:Git只关心文件数据的整体是否发生了变化,而多数的其他系统则只关心文件内容的具体差异,它们在每个版本中记录着各个文件的具体差异。在Git中的绝大多数操作都只需要访问本地文件和资源,不需要联网。这是因为Git在本地磁盘上就保留着所有当前项目的历史更新,所以处理起来速度飞快,这是使用空间换时间的处理方式。使用Git,即使在没有网络或VPN的情况下,你同样可以非常愉快的频繁提交更新,等到有了网络的时候再提交到远程的仓库。

    --------------------转自百度百科

    GIT:

      Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。作为一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

    分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

    Git的优缺点如下:

    1.适合分布式开发,每一个个体都可以作为服务器。每一次Clone就是从服务器上pull到了所有的内容,包括版本信息。

    2.公共服务器压力和数据量都不会太大。

    3.速度快、灵活,分支之间可以任意切换。

    4.任意两个开发者之间可以很容易的解决冲突,并且单机上就可以进行分支合并。

    5.离线工作,不影响本地代码编写,等有网络连接以后可以再上传代码,并且在本地可以根据不同的需要,本地新建自己的分支。
    ---------------------
    转自:devopscsdn
    原文:https://blog.csdn.net/devopscsdn/article/details/78210832

  • 相关阅读:
    gulp图片压缩 gulp-imagemin
    $q.all() 的异步处理问题
    angular.forEach()
    js判断数据类型是否为字符串
    vue项目build后,服务器中运行程序成功,但是刷新页面以后就挂了
    移动端动态布局 设置字体大小
    js和angularjs之间的相互调用
    关于WebUploader上传文件插件的headers.token拦截问题
    vue+elementUI 时间范围选择器
    深入理解计算机系统_3e 第八章家庭作业 CS:APP3e chapter 8 homework
  • 原文地址:https://www.cnblogs.com/ydc198/p/10479608.html
Copyright © 2020-2023  润新知