当前位置: 首页 > news >正文

版本控制基础理论

一、本地版本控制

在本地记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人使用,如RCS.
在这里插入图片描述

二、集中式版本控制(代表SVN)

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或者上传自己的修改。
在这里插入图片描述

所有的版本都存在服务器上,用户的本地只有自己以前所同步的版本。如果不联网的话,用户就看不到历史版本,也无法切换版本验证问题,或者在不同的分支上工作。而且所有的数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份,代表产品WSVN,CVS,VSS.

三、分布式版本控制(代表Git)

每个人都拥有全部的代码!

所有的版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在联网时push到相应的服务器或其他用户那里。由于每个用户那里保存在都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这里增加了本地存储的占用。

不会因为服务器损坏造成不能工作的情况。

在这里插入图片描述

<font color=red size=>Git目前是世界上最先进的分布式版本管理系统。

四、Git的基本理论

Git本地有三个工作区域:工作目录(working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。

在这里插入图片描述

简单的解释一下相关名词:
Workspace:工作区,就是你平时存放项目代码的地方。
Index/Stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息
Repository:仓库区(本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
在这里插入图片描述

五、Git的工作流程
Git的工作流程一般是这样的:
1、 在工作目录中添加修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git本地仓库;
因此,git管理的文件一般有三种状态:已修改(modified)、已暂存(staged)、已提交(committed).
在这里插入图片描述

http://www.lryc.cn/news/426224.html

相关文章:

  • 微分方程(Blanchard Differential Equations 4th)中文版Section1.4
  • 求职Leetcode算法题(7)
  • ActiveMQ、RabbitMQ、Kafka、RocketMQ在事务性消息、性能、高可用和容错、定时消息、负载均衡、刷盘策略的区别
  • HanLP分词的使用与注意事项
  • Python 的进程、线程、协程的区别和联系是什么?
  • 实时数据推送:Spring Boot 中两种 SSE 实战方案
  • 数据守护者:SQL一致性检查的艺术与实践
  • jenkins配置+vue打包多环境切换
  • idea和jdk的安装教程
  • HTML静态网页成品作业(HTML+CSS)——电影网首页网页设计制作(1个页面)
  • 大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库
  • LabVIEW VI 多语言动态加载与运行的实现
  • Unity引擎基础知识
  • 练习题- 探索正则表达式对象和对象匹配
  • Java集合提升
  • uniapp 微信小程序生成水印图片
  • ElasticSearch相关知识点
  • css 文字图片居中及网格布局
  • 解决ImportError: DLL load failed while importing _rust: 找不到指定的程序
  • 集合-List去重
  • ST-LINK USB communication error 非常有效的解决方法
  • 探索CSS的:future-link伪类:选择指向未来文档的链接
  • 【C++】序列与关联容器(三)map与multimap容器
  • ActiveMQ、RabbitMQ、Kafka、RocketMQ在优先级队列、延迟队列、死信队列、重试队列、消费模式、广播模式的区别
  • 首款会员制区块链 Geist 介绍
  • CANoe软件中Trace窗口的筛选栏标题不显示(空白)的解决方法
  • 日期类代码实现-C++
  • 【问题记录+总结】VS Code Tex Live 2024 Latex Workshop Springer模板----更新ing
  • Linux运维_Bash脚本_源码安装Go-1.21.11
  • ShareSDK Twitter