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

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)领地。系好安全带,咱们要深入“密封”的奇妙世界啦! 什么是密封类&#xff1…...

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树的结构包括以下几个部分&#xff1…...

Android无障碍服务监听实现自动点击按钮

原理: 通过监听窗口改变事件,监听目标应用,通过视图ID(或文本、或描述、或其他如坐标之类的)找到目标视图,使用无障碍动作点击方法点击它 无障碍服务实现: 1、写一个自己的无障碍服务继承Acc…...

Jenkins 启动 程序 退出后 被杀死问题

参考 Spawning Processes From Build (jenkins.io) 解决jenkins脚本启动项目后进程被杀死_jenkins杀进程-CSDN博客...

前端样式练手:阴阳图+时钟的组合

开篇 今天的小作品是突然脑子灵光一闪写出来的&#xff0c;代码不多&#xff0c;就不过多赘述了。 代码实现 <template><div class"clock-container"><!-- 八卦图 --><!-- <div class"bagua"><divv-for"(trigram, ind…...

开源分布式系统追踪-03-CNCF jaeger-02-快速开始

分布式跟踪系列 CAT cat monitor 分布式监控 CAT-是什么&#xff1f; cat monitor-02-分布式监控 CAT埋点 cat monitor-03-深度剖析开源分布式监控CAT cat monitor-04-cat 服务端部署实战 cat monitor-05-cat 客户端集成实战 cat monitor-06-cat 消息存储 skywalking …...

医学图像分割数据集脑肿瘤分割数据集labelme格式715张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;715 标注数量(json文件个数)&#xff1a;715 标注类别数&#xff1a;1 标注类别名称:["tumor"] 每个类别标注的框数&#xf…...

2024.12.11-13——攻防世界unserialize3

知识点&#xff1a;PHP中的序列化和反序列化 一、序列化和反序列化 1.序列化(serialize) 将对象的状态信息转换为可以存储或传输的形式的过程&#xff0c;简单来说&#xff0c;就是将状态信息保存为字符串。为了解决不同机器之间传输复杂数据类型的一种机制 2.反序列化(uns…...

Docker的镜像

目录 1. 镜像是什么&#xff1f;&#xff1f;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. 什么是学习率 学习率是训练神经网络的重要超参数之一&#xff0c;它代表在每一次迭代中梯度向损失函数最优解移动的步长&#xff0c;通常用 η \eta η 表示。它的大小决定网络学习速度的快慢。在网络训练过程中&#xff0c;模型通过样本数据给出预测值&#xff0…...

Vue技术中参数传递:Props与事件的实践指南

在Vue.js中&#xff0c;组件间的参数传递是构建动态和交互式应用的核心。本文将深入探讨如何通过Props和事件&#xff08;$emit&#xff09;在Vue组件间进行参数传递&#xff0c;并提供代码示例。 Props传递数据 Props是Vue中组件间传递数据的一种方式&#xff0c;它允许父组…...

刷题日志【4】

目录 1、猜数字大小 1、猜数字大小 题意有点抽象&#xff0c;我大概讲一下&#xff0c;就是在1——n里面会有一个目标数&#xff0c;我们通过猜数字的方式逼近这个数字&#xff0c;直到解出这个数&#xff0c;之前我们是用二分法求最快达到求解的问题&#xff0c;这道题多了每…...

IDEA对windows下的docker里面的Weblogic 进行远程调试(漏洞环境搭建)部署Vulhub漏洞环境

参考书籍&#xff1a;《Java代码审计》入门篇 人民邮电出版社 话不多说&#xff0c;上教程&#xff01;&#xff01;&#xff01; 环境很重要&#xff01;&#xff01;&#xff01;&#xff01; 其他的环境不保证对 本机环境&#xff1a;java jdk 8 下载 选择 下载就行 然后 …...

【深度学习】Java DL4J基于多层感知机(MLP)构建公共交通优化模型

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…...

医学分割数据集肾结石分割数据集labelme格式359张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;359 标注数量(json文件个数)&#xff1a;359 标注类别数&#xff1a;1 标注类别名称:["kidney stone"] 每个类别标注的框数&…...

Ansible自动化运维(五) 运维实战

Ansible自动化运维这部分我将会分为五个部分来为大家讲解 &#xff08;一&#xff09;介绍、无密钥登录、安装部署、设置主机清单 &#xff08;二&#xff09;Ansible 中的 ad-hoc 模式 模块详解&#xff08;15&#xff09;个 &#xff08;三&#xff09;Playbook 模式详解 …...

ReactPress最佳实践—搭建导航网站实战

Github项目地址&#xff1a;https://github.com/fecommunity/easy-blog 欢迎Star。 近期&#xff0c;阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress&#xff0c;ReactPress一个基于 Next.js 的博客和 CMS 系统&#xff0c;可查看 demo站点。&#xff08;…...

Dual-Write Problem 双写问题(微服务)

原文链接https://www.confluent.io/blog/dual-write-problem/ 双写问题发生于当两个外部系统必须以原子的方式更新时。 问题 说有人到银行存了一笔钱&#xff0c;触发 DepositFunds 命令&#xff0c;DepositFunds 命令被发送到Account microservice。 Account microservice需…...

文件转曲,限制PDF文件编辑的最佳方案!

随着数字化进程的推进&#xff0c;PDF文件凭借其多样化的功能和优越的兼容性已经被广泛使用&#xff0c;成为了现代文档交流和存储的重要工具&#xff0c;满足了不同用户和行业的需求。 虽然PDF格式文件的功能很多&#xff0c;常见的比如阅读、编辑、加密、转换、还可用于印刷…...

call,apply,bind 深入

显示绑定 我们通常会碰见丢失绑定的情况&#xff0c;例如系统函数setTimeOut function foo() { console.log( this.a ); } var obj { a: 2, foo: foo }; var a "oops, global"; // a是全局对象的属性 setTimeout( obj.foo, 100 ); // "oops, globalca…...

监测预警智能分析中心建设项目方案

随着科技的不断进步&#xff0c;地理信息与遥感技术在国家治理、环境保护、灾害预警等领域发挥着越来越重要的作用。监测预警智能分析中心的建设&#xff0c;旨在通过集成先进的遥感技术、地理信息系统&#xff08;GIS&#xff09;、大数据分析和人工智能&#xff08;AI&#x…...

redis stream轻量级消息队列

redis 5.0 之后新推出了stream数据结构&#xff0c;可以实现一个轻量级的消息队列&#xff0c;下面通过自定义注解和springboot使用一下redis stream 1.自定义注解 Target(ElementType.METHOD) Retention(value RetentionPolicy.RUNTIME) public interface MsgStreamListener …...

ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示

数据 分数表&#xff1a; 学号&#xff0c;科目名&#xff08;A,B,C&#xff09;&#xff0c;分数 需求 分页列表展示&#xff0c; 如果一个学号的科目有相同的分数&#xff0c; 合并成一条数据&#xff0c;用 拼接 科目名 ORACLE SQL 实现 SELECT Z.*, SUBSTR(DECODE(f…...

UE5制作倒计时功能

设置画布和文本 文本绑定 格式化时间 转到事件图表&#xff0c;计算时间&#xff0c;时间结束后面的事件可以按自己需求写 进入关卡蓝图&#xff0c;添加倒计时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实战攻略

一&#xff1a;环境搭建 新增的网卡VMnet2&#xff0c;ip调成10段。 PC配置如下&#xff1a; DC在该环境中充当是域控。DC配置如下 &#xff1a; WEB配置&#xff1a;需要两块网卡&#xff0c;相当于网关服务器。 作者把外网网段都写成了192.168.111.1/24&#xff0c;我们可以…...

苹果电脑可以安装windows操作系统吗?Mac OS X/OS X/macOS傻傻分不清?macOS系统的Java支持?什么是macOS的五大API法王?

苹果电脑可以安装windows操作系统吗? 先抛开虚拟机安装&#xff0c;苹果电脑可以安装Windows操作系统。苹果公司提供了一个名为Boot Camp的软件&#xff0c;它允许用户在Mac电脑上安装Windows操作系统。通过Boot Camp&#xff0c;用户可以在启动电脑时选择是要进入macOS还是Wi…...

benchANT (Time Series: Devops) 榜单数据解读

近日&#xff0c;国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops&#xff08;时序数据库&#xff09;场景排名&#xff0c;KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录 &a…...

React useEffect使用

useEffect依赖 是reac hook的函数 useEffect作用&#xff1a;不是由事件引起&#xff0c;而是由渲染本身引起的操作&#xff0c;比如发起请求&#xff0c;更改DOM 不发生任何的用户事件&#xff0c;组件渲染完毕之后就需要和服务器要数据&#xff0c;整个过程中属于‘只需要…...

Python随机抽取Excel数据并在处理后整合为一个文件

本文介绍基于Python语言&#xff0c;针对一个文件夹下大量的Excel表格文件&#xff0c;基于其中每一个文件&#xff0c;随机从其中选取一部分数据&#xff0c;并将全部文件中随机获取的数据合并为一个新的Excel表格文件的方法。 首先&#xff0c;我们来明确一下本文的具体需求。…...

Unix 和 Windows 的有趣比较

Unix 和 Windows NT 比较 来源于这两本书&#xff0c;把两本书对照来读&#xff0c;发现很多有意思的地方&#xff1a; 《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)) 问题描述&#xff1a;Unexpected tokens (use ; to separate expressions on the same line) 原因&#xff1a;Android Studio 更新到最新的版本之后&#xff0c;gradle工程目录结构发生改变 问…...

【Office】Office实现shift+鼠标滚轮左右滑动

Office实现shift鼠标滚轮左右滑动 windows系统安装office之后发现&#xff0c;使用shift鼠标滚轮不能够实现左右滑动&#xff0c;我记得以前的office好像是可以的&#xff0c;然后在网上找了一下&#xff0c;找到了一个插件可以实现这个功能 OfficeScroll插件 下载地址&…...

1.C语言 typedef的使用方法

描述作用 1.typedef主要通途给类型起一个别名&#xff0c;比如给int类型取个中文名字 zhengxingint。 2.typedef可以简化struct关键字 3.typedef可以区分数据类型 4.typedef提高代码的平台可移植性。 举例 取别名 #include "stdio.h" #include "string.h&q…...

人工智能原理实验四:智能算法与机器学习

一、实验目的 本实验课程是计算机、智能、物联网等专业学生的一门专业课程&#xff0c;通过实验&#xff0c;帮助学生更好地掌握人工智能相关概念、技术、原理、应用等&#xff1b;通过实验提高学生编写实验报告、总结实验结果的能力&#xff1b;使学生对智能程序、智能算法等…...

redis 架构详解

Redis架构详解可以从以下几个方面进行阐述&#xff1a; 一、部署架构 Redis有多种部署架构&#xff0c;适用于不同的应用场景和需求&#xff0c;主要包括以下几种&#xff1a; 单机模式&#xff08;Standalone Mode&#xff09; 特点&#xff1a;部署简单&#xff0c;配置方便…...

shell脚本自动发布Java应用

单体项目或定制化小应用&#xff0c;频繁发布会有些麻烦&#xff0c;用脚本实现git提交完代码自动发布&#xff0c;并完成jar包备份 1.前提条件&#xff1a;linux安装了JDK、Maven、Git 安装参考链接&#xff1a; jdk安装 https://blog.csdn.net/weixin_44904239/article/de…...

微信小程序调用腾讯地图-并解读API文档 JavaScript SDK和 WebService API

搜索&#xff1a;腾讯位置服务 找到API文档&#xff1a; 入门中第一步&#xff1a;申请开发者密钥key 前往控制台&#xff1a; 创建应用并获取key: 设置key的时候&#xff0c;还需要小程序的APPID。所以要前往微信公众平台中获取小程序的APPID&#xff1a; 限制要求&#xff1a…...