分布式版本控制概述

news2024/11/23 17:03:34

目录

1. 版本控制软件的基础功能

2. 集中式版本控制

3. 分布式版本控制


git 是分布式管理控制工具,用来管理开发项目中的资源:

这样的软件在项目管理开发中称为 SCM(Software Configuration Management) 软件;

下面是版本控制到分布式版本控制的发展趋势;

1. 版本控制软件的基础功能

1. 保存和管理文件

2. 提供客户端工具进行访问

3. 提供不同版本文件的比对功能

但是以上功能在实际开发中远远不够用,于是就产生了集中式版本控制;

2. 集中式版本控制

集中式版本控制就是将项目中的文档集中放在一个仓库中,称之为资源库;需要资料时从资源库下载,修改更新后再上传到资源库,可以用于多人协作提高工作效率;

但是,以上多人协作开发涉及到文件冲突

比如,张三从资源库下载文档到本地,修改更新后再上传到资源库,原先的文档被覆盖;

李四从资源库下载文档到本地,下载的是被覆盖后的“张三的文档”,更新修改后张三的文档被覆盖;

王五从资源库下载被覆盖的“李四”文档到本地,修改更新后李四的文档被覆盖;

由此可以看出,多人处理同一份文档,必须某一个人处理完之后,其他人才能够处理,效率较低;

因此,在实际生产中,约定同一份文档的第一部分由一个人去做,第二部分由另一个人去做,以此类推,提交时比对文档内容,进行合并即可;

但是,以上集中式版本控制都有一个通病,如果服务器崩溃或者网络出现问题,那就不能下载或上传文档,容易造成文档丢失,这就产生了分布式版本控制

3. 分布式版本控制

 在本地搭建一模一样的资源库,在本地的资源库进行下载和上传,最后与中央服务器同步数据;

但是,在本地搭建资源库会占据本地的资源;如果网络不够好,资源库的同步较慢;好处就是数据会更加的安全,数据在本地的下载和上传的速度更快;

 

git 的操作原理与其相同,都是分布式版本控制;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java快速导出word文档

点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 前言一.添加 Apache POI 依赖二.填充文档内容三.导出文档效果测试 前言 在 Java 应用程序…

Apache CloudStack Official Document 翻译节选(一)

关于 Apache CloudStack 的 概念和专用术语 (一) 甲一 Apache CloudStack Apache CloudStack 是一个开源的IAAS平台,管理调度着用于构建公有云或私有云的计算、网络、存储资源池。 借助Apache CloudStack,你可以创建一个按需使用的…

解锁4款高效的视频转文字助手!

虽然视频已经成为我们获取和记录信息的重要方式,可是有时候我们仍需要将视频中的内容转换为文字,才能够有效地整理、分析和利用这些信息。所以就有了视频转文字工具,今天我就推荐4款好用的转换工具给大家 1、福昕视频在线转换 直…

【Java数据结构】---List(Stack)

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 文章目录 前言栈Stack栈的模拟实现…

PyTorch 基础学习(5)- 神经网络

系列文章: PyTorch 基础学习(1) - 快速入门 PyTorch 基础学习(2)- 张量 Tensors PyTorch 基础学习(3) - 张量的数学操作 PyTorch 基础学习(4)- 张量的类型 PyTorch 基础学…

<数据集>路面坑洼识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:681张 标注数量(xml文件个数):681 标注数量(txt文件个数):681 标注类别数:1 标注类别名称:[pothole] 使用标注工具:labelImg 标注规则:对类…

15.3 模型评估与调优

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

给SQL server数据库表字段添加注释SQL,附修改、删除注释SQL及演示

目录 一. 前提小知识(数据库连接,数据库,SCHEMA,Table的关系) 二. 添加备注 2.1 添加备注基本语法(sys.sp_addextendedproperty) 2.2 SQL演示 2.3 fn_listextendedproperty函数查询备注个数 2.4 开发常用添加注释语法 三. 修改备注 3…

深入理解 PHP 高性能框架 Workerman 守护进程原理

大家好,我是码农先森。 守护进程顾名思义就是能够在后台一直运行的进程,不会霸占用户的会话终端,脱离了终端的控制。相信朋友们对这东西都不陌生了吧?如果连这个概念都还不能理解的话,建议回炉重造多看看 Linux 进程管…

C++:vector类(default关键字,迭代器失效)

目录 前言 成员变量结构 iterator定义 size capacity empty clear swap []运算符重载 push_back pop_back reserve resize 构造函数 默认构造函数 default 迭代器构造 拷贝构造函数 赋值重载函数 析构函数 insert erase 迭代器失效问题 insert失效 er…

Linux使用学习笔记3 系统运维监控基础

系统运维监控类命令 查询每个进程的线程数 for pid in $(ps -ef | grep -v grep|grep "systemd" |awk {print $2});do echo ${pid} > /tmp/a.txt;cat /proc/${pid}/status|grep Threads > /tmp/b.txt;paste /tmp/a.txt /tmp/b.txt;done|sort -k3 -rn for pid…

mfc100u.dll丢失问题分析,详细讲解mfc100u.dll丢失解决方法

面对mfc100u.dll文件丢失带来的挑战时,许多用户都可能感到有些无助,尤其是当这一问题影响到他们日常使用的软件时。但实际上,存在几种有效方法可以帮助您快速恢复该关键的系统文件。为了方便不同水平的用户,本文将详细解析各种处理…

自动化测试工具Selenium IDE

简介 Selenium IDE 是实现Web自动化的一种便捷工具,本质上它是一种浏览器插件。该插件支持Chrome和Firefox浏览器,拥有录制、编写及回放操作等功能,能够快速实现Web的自动化测试。 使用场景 1、Selenium IDE本身的定位并不是用于复杂的自动…

Ps:首选项 - 技术预览

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“技术预览” Technology Previews选项卡允许用户启用或禁用一些实验性功能,以测试或使用 Adobe 提供的最新技术。 技术预览 Technology Previews 启用保留细节 2.0…

如何解决浏览器页面过曝,泛白等问题

问题描述,分别对应edge和chrome浏览器这是什么原因?

使用C#禁止Windows系统插入U盘(除鼠标键盘以外的USB设备)

试用网上成品的禁用U盘的相关软件,发现使用固态硬盘改装的U盘以及手机等设备,无法被禁止,无奈下,自己使用C#手搓了一个。 基本逻辑: 开机自启;启动时,修改注册表,禁止系统插入USB存…

字符串函数!!!(续)(C语言)

一. strtok函数的使用 继续上次的学习,今天我们来认识一个新的函数strtok,它的原型是char* strtok(char* str,const char* sep),sep参数指向了一个字符串,定义了用作分隔符的字符合集,第一个参数指定⼀个字符串&#…

DataStream API的Joining操作

目录 Window Join Tumbling Window Join Sliding Window Join Session Window Join Interval Join Window CoGroup Window Join 窗口连接(window join)将两个流的元素连接在一起,这两个流共享一个公共键,并且位于同一窗口。…

从老旧到智慧病房,全视通智慧病房方案减轻医护工作负担

传统的老旧病房面临着诸多挑战。例如,患者风险信息的管理仍依赖于手写记录和人工核查;病房呼叫系统仅支持基本的点对点呼叫,缺乏与其它系统的集成能力;信息传递主要依靠医护人员口头传达;护理信息管理分散且不连贯&…

JavaEE-多线程

前情提要:本文内容过多,建议搭配目录食用,想看哪里点哪里~ PC端目录 手机端目录 话不多说,我们正式开始~~ 目录 多线程的概念进程和线程的区别和联系:使用Java代码进行多线程编程Thread类中的方法和属性线程的核心操作1. 启动…