Git-分布式版本控制工具
目录
1. 概述
1. 1集中式版本控制工具
1.2分布式版本控制工具
2.Git
2.1 git 工作流程
1. 概述
在开发活动中,我们经常会遇到以下几个场景:备份、代码回滚、协同开发、追溯问题代码编写人和编写时间(追责)等。备份的话是为了避免丢失数据,导致无法恢复,会选择多种方法存储,网盘、硬盘等等;在开发过程中我们需要不断的修改我们开发的代码,当项目或者某个模块完成的时候,代码已经被改的面目全非,这就需要代码回滚;项目开发通常都不是一个人,而是一个团队多人协作,在这个过程中我们可能不能同时对代码进行开发,所以需要一个更高效、便捷的协同开发方式;当我们代码出现问题的时候,由于最后多个模块集成到一起,诸多的记录或者没有记录记载代码对应的负责人,就导致无法追责。以上问题同时解决的好办法就是版本控制,对于我们开发中的项目,每次的修改我们看作一个、定义一个版本。
通过定义版本来控制开发文件的方式就叫做版本控制,我们使用的工具就成为版本控制工具。现在最主流的就是分布式版本控制工具-Git。
常见的版本控制方式:
1. 1集中式版本控制工具
SVN and CVS:(已经过时了)
不同的开发人员,在提交一次版本的时候都会同步到其他开发人员,如果中央服务器宕机,那么其他电脑就无法工作,由于所有数据都在服务器中,如果服务器出现问题,那么就gg。
1.2分布式版本控制工具
Git:(称霸全世界)
没有中央服务器,只有一个共享版本库,这个版本库存储在远程仓库中,除此之外,每个开发人员本地都会有一个完整的版本库。如果共享版本库中有新的版本,那么开发人员就可以直接Clone下来就可以了,当然如果共享版本库挂掉了也没事,随便拿一个开发人员本地的版本库直接PUSH上去就可以了。就没有了宕机的问题。
分布式版本工具不需要联网,本地就有完整版本库,各自的修改可以互相PUSH就可以了。
特点: 速度快 设计简单 强力支持非线性开发 完全分布式 有能力高效管理Linux内核一样的超大规模项目(速度and数据量)
非线性开发: 其实就是分支合并的概念。不同开发人员开发不同的模块,同步进行,最后集成到一起,互不影响。
2.Git
2.1 git 工作流程
这张图属于总结性流程图,大致了解,等后面的内容看完再回来瞅它,会恍然大悟。
远程仓库、本地仓库。
相关命令:
1. clone : 克隆,从远程仓库克隆代码到本地仓库
2.checkout : 检出,从本地仓库中检出一个仓库分支然后进行修订
3. add : 添加,在提交前将代码提交到暂存区
4. commit : 提交, 提交到本地仓库,本地仓库保存修改的各个版本
5. fetch : 抓取, 从远程仓库,抓取到本地仓库,不进行任何的合并动作,一般不用
6.pull : 拉取,从远程仓库拉取到本地仓库,自动进行合并merge,相当于fetch+merge
7. push : 推送,修改完成后,将需要共享的代码推送到远程仓库
相关文章:
Git-分布式版本控制工具
目录 1. 概述 1. 1集中式版本控制工具 1.2分布式版本控制工具 2.Git 2.1 git 工作流程 1. 概述 在开发活动中,我们经常会遇到以下几个场景:备份、代码回滚、协同开发、追溯问题代码编写人和编写时间(追责)等。备份的话是为了…...
计算机进制的介绍
一.进制介绍 对于整数,有四种表示方式: 1)二进制:0,1,满2进1。 在golang中,不能直接使用二进制来表示一个整数,它沿用了c的特点。 参考:Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 //赋值…...
【FreeMarker】实现生成Controller根据模板勾选的内容查询
需求:根据模板列表勾选的字段查询列表数据 FreeMarker代码: /*** 分页列表查询** param ${entityName?uncap_first}* param pageNo* param pageSize* param req* return*///AutoLog(value "${tableVo.ftlDescription}-分页列表查询")ApiOp…...
Redis 基础
一. redis 概述 Redis 是一个开源的、高性能的键值对(key-value)存储数据库,通常用作缓存、消息队列或持久化的数据存储。它的全称是 REmote DIctionary Server,最初由 Salvatore Sanfilippo 开发并于2009年发布。 redis 关键特点…...
【Linux】深入理解GCC/G++编译流程及库文件管理
目录 1.背景知识 2.gcc/g如何完成编译 (1) 预处理(进行宏替换) (2) 编译(生成汇编) (3) 汇编(生成机器可识别代码) (4) 链接(生成可执行文件或库文件) (5) 总结 (6) 函数库 …...
分布式 窗口算法 总结
前言 相关系列 《分布式 & 目录》《分布式 & 窗口算法 & 总结》《分布式 & 窗口算法 & 问题》 参考文献 《【算法】令牌桶算法》 固定窗口算法 简介 固定窗口算法是最简单的流量控制算法。固定窗口算法的核心原理是将系统的生命周期划分为一个个…...
多分类交叉熵与稀疏分类交叉熵
总结: 标签为 One-hot 编码的多分类问题,用分类交叉熵对于标签为整数的多分类问题,用稀疏分类交叉熵稀疏分类交叉熵内部会将整数标签转换为 One-hot 编码,而如果标签已经是 One-hot 编码的形式,再使用稀疏分类交叉熵就会多此一举。 算例 假设我们有三个类别:A、B 和 C。…...
ElasticSearch 简介
一、什么是 ElastcSearch? ElasticSearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎。 1.1 ElasticSearh 的基本术语概念 index 索引 索引类似与 mysql 中的数据库,ES 中的索引是存储数据的地方,包含了一堆有相似结构的文档数据…...
一些浅显易懂的IP小定义
IP归属地(也叫IP地址,IP属地) 互联网协议地址,每个设备上的唯一的网络身份证明。用于确保网络数据能够精准传送到你的设备上。 基于IP数据云全球IP归属地解析,示例Python代码 curl -X POST https://route.showapi.co…...
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍02-基于错误消息的SQL注入(Error-Based SQL Injection)
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
C# 探险之旅:第三十六节 - 类型class之密封类Sealed Classes
嗨,探险家们!欢迎再次搭乘我们的C#魔法列车,今天我们要去一个神秘又有点“傲娇”的地方——密封类(Sealed Classes)领地。系好安全带,咱们要深入“密封”的奇妙世界啦! 什么是密封类࿱…...
Error in v-on handler: “TypeError: handler.apply is not a function“
报错截图 原因 原来是我在.vue单文件中 data里面的属性和methods里面的方法重名了 解决 方面重新命名了一下和data里面的属性值不一样就可以了。...
《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(五)
《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(五) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…...
《B+树的原理与实践:探索高效数据存储与检索》
一、B树的基本原理 B树的定义 B树是一种自平衡的树结构,它是由B树衍生而来的。B树的特点是所有的数据记录都存储在叶子节点上,而叶子节点本身按照关键字的大小顺序相连,形成一个有序链表。 B树的结构 B树的结构包括以下几个部分࿱…...
Android无障碍服务监听实现自动点击按钮
原理: 通过监听窗口改变事件,监听目标应用,通过视图ID(或文本、或描述、或其他如坐标之类的)找到目标视图,使用无障碍动作点击方法点击它 无障碍服务实现: 1、写一个自己的无障碍服务继承Acc…...
Jenkins 启动 程序 退出后 被杀死问题
参考 Spawning Processes From Build (jenkins.io) 解决jenkins脚本启动项目后进程被杀死_jenkins杀进程-CSDN博客...
前端样式练手:阴阳图+时钟的组合
开篇 今天的小作品是突然脑子灵光一闪写出来的,代码不多,就不过多赘述了。 代码实现 <template><div class"clock-container"><!-- 八卦图 --><!-- <div class"bagua"><divv-for"(trigram, ind…...
开源分布式系统追踪-03-CNCF jaeger-02-快速开始
分布式跟踪系列 CAT cat monitor 分布式监控 CAT-是什么? cat monitor-02-分布式监控 CAT埋点 cat monitor-03-深度剖析开源分布式监控CAT cat monitor-04-cat 服务端部署实战 cat monitor-05-cat 客户端集成实战 cat monitor-06-cat 消息存储 skywalking …...
医学图像分割数据集脑肿瘤分割数据集labelme格式715张1类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):715 标注数量(json文件个数):715 标注类别数:1 标注类别名称:["tumor"] 每个类别标注的框数…...
2024.12.11-13——攻防世界unserialize3
知识点:PHP中的序列化和反序列化 一、序列化和反序列化 1.序列化(serialize) 将对象的状态信息转换为可以存储或传输的形式的过程,简单来说,就是将状态信息保存为字符串。为了解决不同机器之间传输复杂数据类型的一种机制 2.反序列化(uns…...
Docker的镜像
目录 1. 镜像是什么??2. 镜像命令详解2.1 镜像命令清单2.2 docker rmi命令2.3 docker save命令2.4 docker load命令2.5 docker history命令2.6 docker import命令2.7 docker image prune命令2.8 docker build命令 3. 镜像的操作4. 离线迁移镜像5. 镜像存…...
深度学习训练参数之学习率介绍
学习率 1. 什么是学习率 学习率是训练神经网络的重要超参数之一,它代表在每一次迭代中梯度向损失函数最优解移动的步长,通常用 η \eta η 表示。它的大小决定网络学习速度的快慢。在网络训练过程中,模型通过样本数据给出预测值࿰…...
Vue技术中参数传递:Props与事件的实践指南
在Vue.js中,组件间的参数传递是构建动态和交互式应用的核心。本文将深入探讨如何通过Props和事件($emit)在Vue组件间进行参数传递,并提供代码示例。 Props传递数据 Props是Vue中组件间传递数据的一种方式,它允许父组…...
刷题日志【4】
目录 1、猜数字大小 1、猜数字大小 题意有点抽象,我大概讲一下,就是在1——n里面会有一个目标数,我们通过猜数字的方式逼近这个数字,直到解出这个数,之前我们是用二分法求最快达到求解的问题,这道题多了每…...
IDEA对windows下的docker里面的Weblogic 进行远程调试(漏洞环境搭建)部署Vulhub漏洞环境
参考书籍:《Java代码审计》入门篇 人民邮电出版社 话不多说,上教程!!! 环境很重要!!!! 其他的环境不保证对 本机环境:java jdk 8 下载 选择 下载就行 然后 …...
【深度学习】Java DL4J基于多层感知机(MLP)构建公共交通优化模型
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…...
医学分割数据集肾结石分割数据集labelme格式359张1类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):359 标注数量(json文件个数):359 标注类别数:1 标注类别名称:["kidney stone"] 每个类别标注的框数&…...
Ansible自动化运维(五) 运维实战
Ansible自动化运维这部分我将会分为五个部分来为大家讲解 (一)介绍、无密钥登录、安装部署、设置主机清单 (二)Ansible 中的 ad-hoc 模式 模块详解(15)个 (三)Playbook 模式详解 …...
ReactPress最佳实践—搭建导航网站实战
Github项目地址:https://github.com/fecommunity/easy-blog 欢迎Star。 近期,阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress,ReactPress一个基于 Next.js 的博客和 CMS 系统,可查看 demo站点。(…...
Dual-Write Problem 双写问题(微服务)
原文链接https://www.confluent.io/blog/dual-write-problem/ 双写问题发生于当两个外部系统必须以原子的方式更新时。 问题 说有人到银行存了一笔钱,触发 DepositFunds 命令,DepositFunds 命令被发送到Account microservice。 Account microservice需…...
文件转曲,限制PDF文件编辑的最佳方案!
随着数字化进程的推进,PDF文件凭借其多样化的功能和优越的兼容性已经被广泛使用,成为了现代文档交流和存储的重要工具,满足了不同用户和行业的需求。 虽然PDF格式文件的功能很多,常见的比如阅读、编辑、加密、转换、还可用于印刷…...
call,apply,bind 深入
显示绑定 我们通常会碰见丢失绑定的情况,例如系统函数setTimeOut function foo() { console.log( this.a ); } var obj { a: 2, foo: foo }; var a "oops, global"; // a是全局对象的属性 setTimeout( obj.foo, 100 ); // "oops, globalca…...
监测预警智能分析中心建设项目方案
随着科技的不断进步,地理信息与遥感技术在国家治理、环境保护、灾害预警等领域发挥着越来越重要的作用。监测预警智能分析中心的建设,旨在通过集成先进的遥感技术、地理信息系统(GIS)、大数据分析和人工智能(AI&#x…...
redis stream轻量级消息队列
redis 5.0 之后新推出了stream数据结构,可以实现一个轻量级的消息队列,下面通过自定义注解和springboot使用一下redis stream 1.自定义注解 Target(ElementType.METHOD) Retention(value RetentionPolicy.RUNTIME) public interface MsgStreamListener …...
ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示
数据 分数表: 学号,科目名(A,B,C),分数 需求 分页列表展示, 如果一个学号的科目有相同的分数, 合并成一条数据,用 拼接 科目名 ORACLE SQL 实现 SELECT Z.*, SUBSTR(DECODE(f…...
UE5制作倒计时功能
设置画布和文本 文本绑定 格式化时间 转到事件图表,计算时间,时间结束后面的事件可以按自己需求写 进入关卡蓝图,添加倒计时UI...
若依-帝可得app后端
视频地址 https://www.bilibili.com/video/BV1pf421B71v?t=510.1 APP后端技术栈 架构解析 验证码功能 开发环境使用改的是固定的验证码 12345正式环境使用的是 阿里云的短信方案@Override public void sendSms(String mobile) {// String code = RandomUtil.randomNumbers(5);…...
Vulnstack红日安全内网域渗透靶场2实战攻略
一:环境搭建 新增的网卡VMnet2,ip调成10段。 PC配置如下: DC在该环境中充当是域控。DC配置如下 : WEB配置:需要两块网卡,相当于网关服务器。 作者把外网网段都写成了192.168.111.1/24,我们可以…...
苹果电脑可以安装windows操作系统吗?Mac OS X/OS X/macOS傻傻分不清?macOS系统的Java支持?什么是macOS的五大API法王?
苹果电脑可以安装windows操作系统吗? 先抛开虚拟机安装,苹果电脑可以安装Windows操作系统。苹果公司提供了一个名为Boot Camp的软件,它允许用户在Mac电脑上安装Windows操作系统。通过Boot Camp,用户可以在启动电脑时选择是要进入macOS还是Wi…...
benchANT (Time Series: Devops) 榜单数据解读
近日,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录 &a…...
React useEffect使用
useEffect依赖 是reac hook的函数 useEffect作用:不是由事件引起,而是由渲染本身引起的操作,比如发起请求,更改DOM 不发生任何的用户事件,组件渲染完毕之后就需要和服务器要数据,整个过程中属于‘只需要…...
Python随机抽取Excel数据并在处理后整合为一个文件
本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件,随机从其中选取一部分数据,并将全部文件中随机获取的数据合并为一个新的Excel表格文件的方法。 首先,我们来明确一下本文的具体需求。…...
Unix 和 Windows 的有趣比较
Unix 和 Windows NT 比较 来源于这两本书,把两本书对照来读,发现很多有意思的地方: 《Unix 传奇》 https://book.douban.com/subject/35292726/ 《观止 微软创建NT和未来的夺命狂奔 》 Showstopper!: The Breakneck Race to Create Windows…...
解决Android Studio Unexpected tokens (use ; to separate expressions on the same line)
[TOC](Unexpected tokens (use ; to separate expressions on the same line)) 问题描述:Unexpected tokens (use ; to separate expressions on the same line) 原因:Android Studio 更新到最新的版本之后,gradle工程目录结构发生改变 问…...
【Office】Office实现shift+鼠标滚轮左右滑动
Office实现shift鼠标滚轮左右滑动 windows系统安装office之后发现,使用shift鼠标滚轮不能够实现左右滑动,我记得以前的office好像是可以的,然后在网上找了一下,找到了一个插件可以实现这个功能 OfficeScroll插件 下载地址&…...
1.C语言 typedef的使用方法
描述作用 1.typedef主要通途给类型起一个别名,比如给int类型取个中文名字 zhengxingint。 2.typedef可以简化struct关键字 3.typedef可以区分数据类型 4.typedef提高代码的平台可移植性。 举例 取别名 #include "stdio.h" #include "string.h&q…...
人工智能原理实验四:智能算法与机器学习
一、实验目的 本实验课程是计算机、智能、物联网等专业学生的一门专业课程,通过实验,帮助学生更好地掌握人工智能相关概念、技术、原理、应用等;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对智能程序、智能算法等…...
redis 架构详解
Redis架构详解可以从以下几个方面进行阐述: 一、部署架构 Redis有多种部署架构,适用于不同的应用场景和需求,主要包括以下几种: 单机模式(Standalone Mode) 特点:部署简单,配置方便…...
shell脚本自动发布Java应用
单体项目或定制化小应用,频繁发布会有些麻烦,用脚本实现git提交完代码自动发布,并完成jar包备份 1.前提条件:linux安装了JDK、Maven、Git 安装参考链接: jdk安装 https://blog.csdn.net/weixin_44904239/article/de…...
微信小程序调用腾讯地图-并解读API文档 JavaScript SDK和 WebService API
搜索:腾讯位置服务 找到API文档: 入门中第一步:申请开发者密钥key 前往控制台: 创建应用并获取key: 设置key的时候,还需要小程序的APPID。所以要前往微信公众平台中获取小程序的APPID: 限制要求:…...