Git分布式版本控制工具

2023-09-17 19:28:22

概念

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。

开发中的实际场景

1.备份

2.代码还原

3.协同开发

4.追溯问题代码的编写人和编写时间

版本控制器的方式

 1.集中式版本控制工具

版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作

举例:SVN和CVS

2.分布式版本控制工具

分布式版本控制系统没有中央服务器,每个人的电脑上都是一个完整的版本库,无需联网,多人协作只需要各自的修改推送给对方,就能相互看到对方的修改了。

 Git工作流程图

 Git安装和常用命令

Git:下载:官网Git - Downloads (git-scm.com)

淘宝镜像:CNPM Binaries Mirror (npmmirror.com)

gitcode:mirrors / waylau / git-for-win · GitCode

 完成安装后,鼠标右键单击会出现Git GUI和GitBash

Git GUI:提供的图形界面工具

GitBash:提供的命令行工具

 基本配置

设置用户信息:

git config --global user.name "Deamer"
git config --global user.email "22369xxxx@qq.com"

注意:姓名和邮箱后有空格

查看用户信息:

git config --global user.name
git config --global user.email

 获取本地仓库

初始化本地仓库

先创建文件夹,然后在该文件夹打开Git命令行

输入:

git init

 基础操作指令

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化

先创建文件并查看其状态:

git add.

现状态:已暂存,未提交

输入指令:

git commit -m"add file01"

 已进入仓库

输入指令:查看仓库中的提交记录

git log

 小结:

 版本回退

 分支

几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线

 解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决步骤如下:

1.处理文件中冲突的地方

2.将解决完冲突的文件加入暂存区

3.提交到仓库

开发中分支使用原则和流程

 GIt远程仓库

常用的托管服务(远程仓库)

常用的有GitHub、码云、Git Lab等

获取SSH密钥

 详细步骤

 抓取和拉取

 

更多推荐

浅谈应急照明系统在民用建筑的设计应用与产品选型

贾丽丽安科瑞电气股份有限公司上海嘉定201801【摘要】应急照明分为备用照明、安全照明及疏散照明。文章介绍了应急照明系统的设计、灯具选择、灯具布置、配电等要求。并结合实例进行疏散照明的计算,以指导应急照明系统的设计与应用。【关键词】照度;光通量;消防应急灯具;A型消防应急照明灯具;消防应急照明和疏散指示系统。引言现代建

【已解决】AttributeError: module ‘numpy‘ has no attribute ‘int‘.

文章目录问题详情问题原因解决方法专栏目录:神经网络精讲与实战AlexNetVGGNetGoogLeNetInceptionV2——V4ResNetDenseNetSE-ResNet问题详情AttributeError:module‘numpy’hasnoattribute‘int’.np.intwasadeprecat

策略模式实现方式之Map<K,Function>

策略模式实现方式之Map<K,Function>小概念场景我们有一个对象对象有一个行为该行为在不同场景中有不同的表现形式策略模式定义了一系列算法封装了每个算法这一系列的算法可互换代替代码实现定义一个对象行为表现形式枚举//定义一个对象行为表现形式枚举publicenumAdApplyTypeEnumimplements

Spark Dataset 快速上手

文章首发地址SparkDataset是Spark提供的一种强类型的数据抽象,它结合了RDD的强大功能和DataFrame的优化执行。下面是SparkDataset的JavaAPI的详细解释:创建Dataset:使用spark.createDataset()方法:通过调用spark对象的createDataset()方法

20-SpringCloudAlibaba-2

六分布式流量防护1认识分布式流量防护在分布式系统中,服务之间的相互调用会生成分布式流量。如何通过组件进行流量防护,并有效控制流量,是分布式系统的技术挑战之一。什么是服务雪崩假设我有一个微服务系统,这个系统内包含了ABCD四个微服务,这四个服务都是以集群模式构建的。雪崩问题:微服务之间相互调用,因为调用链中的一个服务故障

【Flink实战】玩转Flink里面核心的Sink Operator实战

🚀作者:“大数据小禅”🚀文章简介:玩转Flink里面核心的SinkOperator实战🚀欢迎小伙伴们点赞👍、收藏⭐、留言💬目录导航FlinkSinkOperator简介Flink核心知识SinkOperator速览Flink自定义的Sink连接Mysql存储商品订单案例实战FlinkSinkOperator简

uniapp:APP开发,后台保活

前言:在ios中,软件切换至后台、手机息屏,过了十来秒软件就会被系统挂起,APP内的任务就不能继续执行;在android中,默认情况下,软件在后台运行的时候,触发某些特定条件的情况下,会被杀掉进程。解决方案:以下方案均测试息屏后台运行两小时一、后台运行音频(无声音频)(一般)manifest.json配置:APP常用其

JavaScript:二进制数组【笔记】

二进制数组【ArrayBuffer对象、Type的Array视图和DataView视图】JavaScript操作二进制数据的一个接口。这些接口原本是和WebGL有关【WebGL是浏览器与显卡之间的通信接口】,为了满足JavaScript与显卡之间大量、实时数据交换,那么JavaScript和显卡之间的数据通信必须是二进

MYSQL 窗体汇总函数

如果我们想要汇总当天数据,当月数据,当年数据的。如果不懂窗体函数,可能会比较费劲,那小编就说了,我用java处理同样可以达到效果啊。可问题是。明明有现成的函数,为啥要用java处理,当然同时,java会不停的判断时间范围,严重影响性能。当我们掌握了一下函数使用时,①,提高工作效率②,防止过多bug③,提升项目性能④,适

ruoyi-nbcio增加websocket与测试页面

为了后面流程发起等消息推送,所以需要集成websocket。1、后端增加websoket支持首先在framework模块里的pom.xml增加websocket<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s

【用文心一言学习】MongoDB查询问题

说明:如下答案来自百度文心一言,已确定无误,请放心食用。1.MongoDB嵌套文档怎么查询在MongoDB中,可以使用嵌套文档来存储相关的数据。要查询嵌套文档,可以使用点符号(.)来引用嵌套字段。例如,假设你有一个名为users的集合,其中包含以下文档:[{"_id":1,"name":"John","address"

热文推荐