Git相关知识(1)
目录
1.初识Git
1.基础知识
2.centos中下载
2.基本操作
1.创建本地仓库
2.配置本地仓库
3.版本库、工作区、暂存区
4.添加文件
5.add和commit对git文件的作用
6.修改文件
7.版本回退
8.撤销修改
9.删除文件
3.分支操作
1.HEAD与分支
2.创建分支
3.删除分支
4.合并冲突
5.分支管理
6.分支决策
1.初识Git
1.基础知识
Git:是一种版本控制器,用于记录每一次修改以及版本迭代的一个管理系统
作用:可以控制电脑上所有格式的文档,对于开发人员而言最重要的就是可以管理项目中的源代码文档
2.centos中下载
sudo yum install git -y
2.基本操作
1.创建本地仓库
想要Git进行管理,必须将文件放在Git仓库中进行管理
git init:在当前文件中创建一个Git仓库
此时我们会发现文件中有一个隐藏文件.git,其用于追踪管理文件
2.配置本地仓库
1.配置用户名称:git config user.name "(这里写用户名字)"
2.配置用户email地址:git config user.email"(这里写用户地址)"
3.查看当前所有的配置属性:git config -l
4.重置配置:git config --unset XXX(属性)
在当前主机下,本地仓库可以开辟多个
5.所有本地仓库的配置项:本地仓库git config --global XXX(属性) YYY(配置信息)
6.--global创建的属性,不能通过普通的重置,得使用git config --global --unset XXX(属性)
3.版本库、工作区、暂存区
1.如果直接新建一个文档在本地仓库下,那么此时git并没有对该文档进行管理
2.真正管理文件的仓库其实是.git这个隐藏文件。此外不能对.git进行手动修改
3..git为版本库,也叫做仓库
4.生成的这个文档其实在工作区
5.index为暂存区,也是索引。存储的是修改对象的索引
6.objects:对象库,存储git对象。修改的工作区内容会写入到对象库的一个git对象。用于维护所有文件的版本
7.master:存储修改对象的索引
add:将工作区的修改文件添加到暂存区。这里的修改文件指的是:增删改的文件
commit:将index的文件存入到master中,此刻才能说文件被放入了版本库中进行管理
4.添加文件
git add . :工作区所有文件添加到暂存区
git add (指定文件) :工作区指定文件添加到暂存区
git commit -m "(本次添加的细节)"
git log:查看由近到远的提交记录细节 [git log --pretty=oneline]
5.add和commit对git文件的作用
1.add之后的内容都在index中
2.cat .git/HEAD后,我们能查看到HEAD指向的是master
3.master存放的是最新的commit的id
4.objects中存放了很多的对象
5.git cat-file -p commit的id:查看objects中的对象
6.修改文件
git status:查看哪些文件进行修改
git diff 文件名:查看文件修改的是情况(-为原版,+为改版)
7.版本回退
git reset [--soft | --mixed | --head] [HEAD]:本质是将版本库的版本进行回退
--soft:只回退版本库
--mixed:回退版本库和暂存区
--head:回退所有内容
git reflog:查看每次本地提交命令
1.配合git log --pretty=oneline查看得到commitID,使用git reset [--soft | --mixed | --head] [HEAD]
2.git reset [--soft | --mixed | --head] [HEAD]可以回退,但是需要得到commitID
1.版本回退的速度其实很快
2.其原理其实是因为HEAD指向的master中有commitID,只需要在回退版本时将master的commitID修改即可
3.git reset还可以回退到当前版本,用于撤销修改。默认时--mixed,^表示回退一个版本
8.撤销修改
撤销有不同的策略:
1.只有工作区修改了
1.手动撤销 --- 不推荐
2.git checkout -- [文件名]
2.工作区和暂存区修改了
1.git reset --head 文件名 HEAD
2.git reset 文件名,就变成了条件1
3.所有区都修改了
git reset --head HEAD
1.push操作可把版本库内容发送给远程仓库
2.想要实现条件3撤销修改操作,需要在commit之后没有进行push操作
3.条件3修改是为了不影响远程仓库
9.删除文件
方法1:rm删除文件后,还想要add和commit将文件更新
方法2:git rm 文件,实际该操作包含rm和add两步,最后我们commit即可
3.分支操作
1.HEAD与分支
HEAD指向的master,master记录最新的commitID。通过对master的结构中的parent能够回溯到之前的版本中去
2.创建分支
git branch:查看分支
git branch 创建分支的名称:创建分支
1.HEAD可以指向其他分支,被HEAD指向的分支才是当前工作的分支
2.此时我们会发现,HEAD文件中有一个master和一个新建的分支。并且这个新建分支指向的也是当前的工作分支
git checkout 分支名称:切换分支(HEAD指向新分支)
git merge 分支名称:合并分支
3.删除分支
删除分支的条件就是:必须在其他的分支上对非当前分支上进行删除
git branch -d 分支名:删除指定分支,指的是合并后的删除
4.合并冲突
多条分支对同一个文件进行操作后,使得文件的内容都不一样,那么此时如果进行git merge合并操作,那么就会报错说明当前的内容合并冲突了,需要我们自己手动进行筛选自己想要的内容。
一旦冲突修复完毕,需要重新对文件进行提交。
git log --graph --abbrev-commit:可视化分支结构
5.分支管理
git merge合并的通常为Fast forward模式。该模式无法判断是merge进来的文件还是正常提交的文件
git merge --no--ff -m "提交信息" 分支:不使用Fast forward模式
6.分支决策
1.master分支:在任何环境下都是稳定的环境,它在项目实现中作为最终出现的结果。其他分支不稳定需要经过公司的一系列测试最终将稳定的代码合并到master中去。其他分支的编写真好符合分组开发的要求。
2.bug分支:master分支稳定也不能百分百得到保证,它也会出现bug。我们不能在master中直接对文件进行修改。当然所有业务开发的文件都可以创建bug分支对文件进行修改为保证可靠性。
git stash:将工作区的内容进行存储,保存到/refs中。
git stash list:查看保存
git stash pop:撤回stash
1.如果其他文件正在开发,master出bug了,那么将其他开发文件git stash保存,此时的文件变回原来的内容。随后创造bug分支,将所有的修改改完合并到master中。最后将其他开发git stash pop,撤回stash继续开发。
2.若想继续将master和其他文件进行合并,不建议直接在master中合并,我们要在其他文件中合并,就算合并有bug也可以慢慢改
未merge的分支的删除操作:
1.首先说明不能使用git branch -d,因为文件被保护无法删除
2.可以使用git branch -D强制删除
相关文章:

Git相关知识(1)
目录 1.初识Git 1.基础知识 2.centos中下载 2.基本操作 1.创建本地仓库 2.配置本地仓库 3.版本库、工作区、暂存区 4.添加文件 5.add和commit对git文件的作用 6.修改文件 7.版本回退 8.撤销修改 9.删除文件 3.分支操作 1.HEAD与分支 2.创建分支 3.删除分支 …...

pytorch中nn.DataParallel多次使用
pytorch中nn.DataParallel多次使用 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader# 定义模型 class MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()self.fc nn.Linear(10, 1)def forwa…...

制作电商页面(Html)
任务 制作一个电商页面,要求所卖物品清晰,页面色调清晰,要有主页和详情页。 网站所买物品:书籍 色调:#FF2400 橙红色 代码 主页HTML代码: <html><head><meta charset"utf-8"…...
Android Sutdio依赖Snapshot版本,无法同步最新的包
起因 局域网中搭建了Nexus托管本地打包的aar,正常情况下,把修改完成的库推送到仓库后,其他项目引用Snapshot版本的依赖,同步后会马上下载最新的包,但是当第二次推送后,就没有重新下载最新的包,…...
Feign调用异常触发降级捕获异常
通过配置fallbackFactory来捕获异常信息,代码如下 FeignClient(name "user", fallbackFactory UserFallBackFactory.class) public interface UserFeign {PostMapping("/get/list")Map getList();}Component public class UserFallBackFacto…...

Springboot 音乐网站管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
一、源码特点 springboot 音乐网站管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…...

微信支付v2-02
...

企业的销售活动是什么?CRM销售管理系统给你答案
在企业业务中,销售活动是实现企业业绩目标的基本单元,起着奠基石的作用。CRM销售管理系统是销售活动管理的必备工具,帮助企业更好地开展销售活动。下面来说说企业的销售活动是什么? 什么是销售活动 简单来说,销售人员…...
【PG】PostgreSQL参数格式 配置文件格式
目录 一 PG参数格式 二 通过配置文件修改参数 postgresql.auto.conf文件 三 通过SQL修改参数 四 通过shell修改参数 五 管理配置文件内容 一 PG参数格式 所有参数名都是大小写不敏感的。每个参数都可以接受五种类型之一的值: 布尔、字符串、整数、 浮点数或枚…...

应用层协议 HTTP
一、应用层协议 我们已经学过 TCP/IP , 已然知道数据能从客户端进程经过路径选择跨网络传送到服务器端进程。 我们还需要知道的是,我们把数据从 A 端传送到 B 端, TCP/IP 解决的是顺丰的功能,而两端还要对数据进行加工处理或者使用…...

Springboot+vue的应急救援物资管理系统,Javaee项目,springboot vue前后端分离项目。
演示视频: Springbootvue的应急救援物资管理系统,Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的应急救援物资管理系统,采用M(model)V&…...
创建properties资源文件,并由spring组件类获取资源文件
1.1 创建资源文件file-upload-dev.properties #文件上传地址 file.imageUserFaceLocation=/workspaces/images/foodie/faces #图片访问地址 file.imageServerUrl=http://localhost:8088/foodie/faces1.2 创建spring组件获取资源文件类FileUpload import org.springframework.…...
你知道npm、yarn、pnpm的区别吗?
npm 嵌套的 node_modules 结构 npm 在早期采用的是嵌套的 node_modules 结构,“node_modules” 文件夹通常包含项目依赖的模块。在项目中使用多个依赖并且这些依赖本身也有它们自己的依赖时,就会出现嵌套的 “node_modules” 结构。 嵌套的 “node_mo…...

利用excel表格进行分包和组包
实际使用中,我们可能希望修改某几个数据之后,最终的数据包能够自动发动数据,类似于在给结构体变量修改数据,自动生成完整的结构体; excel语法 1:拆分数据 LEFT(A4,2) – 取A4单元格左边的两个数据 RIGHT(A4…...

Go 语言切片扩容规则是扩容2倍?1.25倍?到底几倍
本次主要来聊聊关于切片的扩容是如何扩的,还请大佬们不吝赐教 切片,相信大家用了 Go 语言那么久这这种数据类型并不陌生,但是平日里聊到关于切片是如何扩容的,很多人可能会张口就来,切片扩容的时候,如果老…...

突破封锁|华为芯片10年进化史:从K3V1到麒麟9000S
华为海思麒麟芯片过去10年研发历程回顾如下: 2009年:华为推出第一款手机芯片K3V1,采用65nm工艺制程,基于ARM11架构,主频600MHz,支持WCDMA/GSM双模网络。这款芯片搭载在华为U8800手机上,标志着华…...

vue建项目
vue3 create-vue 建vue3项目 vscode里改点东西,首先vetur禁用,这个是vue2的,下volar pinia持久化插件:npm i pinia-plugin-persistedstate 配eslint、prettier 在.eslintrc.cjs里配 rules: {// prettier专注于代码的美观度 (格…...
天龙八部服务端Public目录功能讲解
PublicDataAIScript文件夹中 script(0~210).ai怪物AI脚本设定如是否主动攻击是否使用技能 PublicDataScript文件夹中 eventbossgroupbg_BossAI_CreateMonster.lua 是BOSS群 刷小怪通用脚本 PublicDataScript文件夹中 eventbossgroupbg_CangShan.lua 苍山 BOSS群刷新脚本 Public…...

好用的Java工具类库—— Hutool
目录 一、简介 1、介绍 2、Hutool名称的由来 3、Hutool如何改变我们的coding方式 4、包含组件(核心) 5、官方文档 二、安装与使用 1、引入 import方式 exclude方式 2、安装(POM) 三、使用 1、DateUtil 2、StrUtil 3、NumberUtil 4、MapU…...

IDEA的使用(三)Debug(断点调试)(IntelliJ IDEA 2022.1.3版本)
编程过程中如果出现错误,需要查找和定位错误时,借助程序调试可以快速查找错误。 编写好程序后,可能出现的情况: 1.没有bug。 使用Debug的情况: 2.运行后,出现错误或者异常信息,但是通过日志文件…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...