美文网首页
版本控制系统

版本控制系统

作者: _1633_ | 来源:发表于2020-11-13 09:11 被阅读0次

    学习 Git 之前 我们需要理解  Git 是一个分布式版本控制系统 这句话,什么是 版本控制系统,什么又是 分布式版本控制系统。


版本控制

    版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

                                                                                                                                                                                                                        ———— 百度百科

 版本控制系统的核心:版本控制、主动提交、中央仓库

   版本控制

        简单来说,版本控制就是保存文件的历史修改记录, 使我们能够方便的撤销之前对文件的修改操作,或者能够很方便的退回到历史的某个阶段。

    比如 我们使用的各种 文本编辑器都有撤销的功能,就像简书或者各种 IDE,使用 Ctrl + Z 就能撤销刚才的操作,退回到上一个文档的状态。这是因为文本编辑器自动帮你保存了之前的内容,当撤销的时候,它会把内容退回到上一个状态。

    主动提交 

        版本控制系统(Version Control System - VCS) 和 普通的文本编辑器的 撤销功能相比,程序的开发周期非常的长,我们甚至会查看几年前的代码修改情况,如果依然采用 每次修改自动保存的形式保存历史记录,那么这个记录很非常频繁,并且冗余记录非常多,这样查找想要的历史记录就非常困难。所以 VCS 采用了 主动提交改动 的机制,这样每当我们想把 当前版本作为一个历史记录,就主动 commit 提交,把该版本存储到历史版本中,当我们需要回退的时候,就能从 VCS 历史日志中找到它。

    中央仓库

        当多人共同进行开发的时候,就需要有一个中央仓库作为代码的存储中心: 开发者将代码上传到中央仓库,其他所有的人也能看到或者下载别人上传的代码。


中央式版本控制系统 和  分布式版本控制系统

    最初的版本控制系统 是 中央式版本控制系统(Centralized VCS),Git 是 分布式的 版本控制系统(Distributed VCS)。

    中央式版本控制系统

中央式

           中央式版本控制系统是将 版本库是集中存放在中央服务器。

           多人开发的时候,首先从中央仓库下载到初始的代码,然后多人并行开发;

           开发过程中每个人都负责一部分功能,完成后将新代码提交到中央仓库;

           当有人提交代码的时候,其他人就可以将这些新代码同步到自己的机器上,保持自己本地的代码式最新的。

           这是中央式 VCS 最基本的工作流程,其实开发过程中并没有这么简单,会出现代码冲突,历史版本回退等问题。

        分布式版本控制系统

分布式

            分布式 和 中央式 的 区别在于,分布式 VCS 除了中央仓库之外,本地还有一个自己的仓库:开发者的电脑上都有自己的本地仓库,这个仓库包含了所有的历史版本,也就是说,每个人在自己的电脑上就可以提交代码,查看历史,不需要和 中央仓库交互,只需要和本地仓库交互

            中央式 VCS 的中央仓库主要是 保存版本历史 和 同步团队代码;分布式 VCS 将 保存版本历史的工作 放到了 开发者自己的 本地仓库中,中央仓库的主要任务变成了同步团队代码,当然它依然能保存历史版本。

            多人开发时,主程序员将 项目代码提交到本地仓库

            然后再服务器上创建一个中央仓库,并 将本地的代码推送到服务器的中央仓库

            其他开发者把中央仓库的所有内容克隆到本地,拥有了自己的本地仓库,并行开发;

            开发者再开发过程中,将自己每次的开发功能完成 提交到本地仓库,开发完成后 将所有代码 从本地仓库 推送到中央仓库

            其他开发者 可以把新的提交同步到自己的电脑上,把它们和自己本地的代码合并

        优点

            大多数操作再本地,无需网络就可以提交代码,查看历史版本,速度快;

            在本地提交代码可以将每次提交细分,不用一次提交所有代码,这样出现问题的时候,可以方便我们退回一小步,有更多的历史版本。

        缺点

              因为有个本地仓库,每次记录了历史版本,所以比中央式 更占 存储空间。

相关文章

  • git的及基本使用

    git 版本控制系统(VCS) 本地式版本控制系统 集中式版本控制系统 SVN 分布式版本控制系统 Git g...

  • GitHub使用 (不定期更新)

    版本控制 本地版本控制系统 集中式版本控制系统 ( SVN) : 必须要联网 分布式版本控制系统 (Git) G...

  • Git复习

    版本控制 版本控制的意义在于记录和备份. 版本控制系统分类: 本地版本控制系统:无法协同开发 集中化版本控制系统:...

  • Git相关内容

    1、版本控制系统 (1)本地版本控制系统; (2)集中化的版本控制系统(客户端是最新的版本) eg:SVN:不支持...

  • 为什么要使用Git

    我们先做个对比就是“集中化版本控制系统”和“分布式版本控制系统”。 集中化版本控制系统 (Centralized ...

  • 版本控制系统以及Git介绍

    版本控制系统(Version Control System - VCS) 版本控制系统(VCS)最基本的功能是版本...

  • Git整理

    1. 版本控制 CVS及SVN都是集中式的版本控制系统而Git是分布式版本控制系统。 集中式版本控制系统,版本库是...

  • 学习Git

    Git是一种分布式版本控制系统。 问题是:什么是版本控制系统? 版本控制系统(也说版本控制)是一种软体工程技巧,借...

  • 杂记:Git与Github简单使用

    关于版本控制系统(即VCS:Version Control Systems) 历程:什么是版本控制系统(VCS)?...

  • Git

    Git概念 Git是最先进的分布式版本控制系统。 CVS和SVN是集中式的版本控制系统。 版本控制系统,只能跟踪文...

网友评论

      本文标题:版本控制系统

      本文链接:https://www.haomeiwen.com/subject/dspubktx.html