Git本地库操作

对本地库的操作很少,我们学习1~6节即可,其他了解下。我们可以在idea中完成对本地库还有远程库的操作,可视化界面用起来更加舒适而且也不会混淆。

1. Git概述

  • Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

  • Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

  • 本地库已经实现了版本管理,可以切换分支到任意版本下,如果我们是个人开发者,并且不需要与其他人合作开发,那么在本地库进行版本管理可能已经足够了。但要注意本地库无法备份代码,也不能与其他开发者分享代码。如果你需要和其他人协同工作或者希望备份你的代码,那么最好将代码提交到远程仓库中进行版本管理。这样可以确保对代码进行备份并方便代码共享和合作开发。

2. 何为版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。我们就像甲方一样,如果改了七版后还想要回第一版,我们就可以使用Git快速方便地切换回第一版。
虽然我们也可以直接通过备份的方式保存各个版本,但是这种方式不仅占用我们的存储空间,当文件较大时还会占用我们的时间。而且各个版本备份只是Git的一个作用,在远程仓库中还可以通过高亮比较各个版本代码的不同。跟他人分享我们的代码、代码备份、与他人协助开发。

3. Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

➢ 局域网

​ GitLab

互联网

​ GitHub(外网)

​ Gitee 码云(国内网站)

4. Git安装

我安装在D:\ProgramSofts,安装好后右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。

在这里插入图片描述

在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。

5. Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭

6. 设置用户签名

任意位置右键git Bash然后用以下命令设置用户前面:

git config --global user.name zane (回车)
git config --global user.email 2116514824@qq.com

在家目录下我们可以看到新创建了一个文件.gitconfig
在这里插入图片描述

双击打开查看文件内容或通过git Bash方式获取文件内容
在这里插入图片描述

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

注意: 这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

7. 初始化本地库

D:\Git-Space创建一个文件夹git-demo1,然后在文件夹下右键git Bash,输入以下命令:

基本语法

git init

案例实操

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1
$ git init
Initialized empty Git repository in D:/Git-Space/git-demo1/.git/ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ ll -a
total 4
drwxr-xr-x 1 ASUS 197121 0 Jul  5 20:22 ./
drwxr-xr-x 1 ASUS 197121 0 Jul  5 20:22 ../
drwxr-xr-x 1 ASUS 197121 0 Jul  5 20:22 .git/ (.git 初始化的效果,生成 git)

结果查看

初始化后在本地库(我们刚刚所新建的文件夹)下有一个.git文件夹
在这里插入图片描述

8. 查看本地库状态

基本语法

git status

案例实操

首次查看(工作区没有任何文件)

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git status
On branch masterNo commits yetnothing to commit (create/copy files and use "git add" to track)

新增文件(hello.txt)

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ vim hello.txt  //编辑文件,若没有则新建一个,输入后进入编辑区,点击i进入插入状态,输入以下内容:hello git!hello lzk! 按esc退出插入模式后,按下yy表示对光标所在行进行复制,p表示粘贴,编辑完毕,按下:wq表示保存文件
--------------------
hello git!hello lzk!
hello git!hello lzk!

再次查看(检测到未追踪的文件)

  • 未追踪文件表示该文件尚未被添加到暂存区
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git status 
On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)hello.txtnothing added to commit but untracked files present (use "git add" to track)

9. 添加暂存区

将工作区的文件添加到暂存区

基本语法

git add 文件名

案例实操

  • 执行命令后并未提示该文件是否加入到暂存区中,所以我们需要查看一下状态,可以忽略警告。
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git add hello.txt  
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory-------------------
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git status
On branch masterNo commits yetChanges to be committed:(use "git rm --cached <file>..." to unstage)new file:   hello.txt  (检测到暂存区有新文件)

10. 提交本地库

将暂存区的文件提交到本地库

基本语法

git commit -m "日志信息" 文件名

案例实操

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git commit -m "my first commit" hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
[master (root-commit) 661f746] my first commit1 file changed, 16 insertions(+)create mode 100644 hello.txt再次查看状态(没有文件需要提交)
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git status
On branch master
nothing to commit, working tree clean

11. 修改文件

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ vim hello.txt (修改文件,因为我们在本地库下执行编辑文件命令,一个本地库为一个文件夹,文件夹下没有同名同后缀的文件,所以修改hello.txt就是修改指定的那个)-----修改为以下内容--------
hello git! hello lzk!
22222222222222222222

查看状态

检测到工作区有文件被修改

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   hello.txtno changes added to commit (use "git add" and/or "git commit -a") //此处命令提示我们可以使用git add方式将工作区中的文件添加到暂存区或者使用git commit -a方式提交
--------------------
不add直接commit
两种情况:
- 新建的文件尚未纳入版本控制体系:必须先add纳入版本控制体系后才可以commit
- 已纳入版本控制体系的文件被修改:可以不add直接commit,Git自动执行了add

将修改的文件再次添加暂存区

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git add hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory

暂存区文件提交本地库

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git commit -m "my second commit" hello.txt
.....

12. 查看历史版本

基本语法

git reflog 	查看版本信息
git log     查看版本详细信息

案例实操

  • 新增一次,提交到本地库,为版本1,修改后提交到本地库,为版本2。此时指针HEAD总是指向最后一次修改。本地库只有一份文件,但是git能存在两个版本信息,很神奇。
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git reflog
5c02310 (HEAD -> master) HEAD@{0}: commit: my second commit
661f746 HEAD@{1}: commit (initial): my first commit

13. 版本穿梭

基本语法

git reset --hard 版本号

案例实操

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
--首先查看当前的历史记录,可以看到当前是在 5c02310 这个版本
$ git reflog
5c02310 (HEAD -> master) HEAD@{0}: commit: my second commit
661f746 HEAD@{1}: commit (initial): my first commitASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
--切换到 661f746 版本,也就是我们第一次提交的版本
$ git reset --hard 661f746
HEAD is now at 661f746 my first commitASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
--切换完毕之后再查看历史记录,当前成功切换到了 661f746 版本
$ git reflog
661f746 (HEAD -> master) HEAD@{0}: reset: moving to 661f746
5c02310 HEAD@{1}: commit: my second commit
661f746 (HEAD -> master) HEAD@{2}: commit (initial): my first commit

14. Git分支操作

什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

master为开发主线,其余为分支,分支为主线分支进行功能开发,开发好后将功能合并到master上。

分支的好处

  • 同时并行推进多个功能开发,提高开发效率。

  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支的操作命令

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

查看分支

基本语法
git branch -v
案例实操
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git branch -v
* master 661f746 my first commit   (*代表当前所在的分区)

创建分支

基本语法
git branch 分支名
案例实操
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git branch hot-fix  (创建分支hot-fix)ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git branch -vhot-fix 661f746 my first commit (刚创建的新的分支,并将主分支 master
的内容复制了一份给它)
* master  661f746 my first commit  (当前分支仍为master)

修改分支

--在 maste 分支上做修改
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ vim hello.txt
--添加暂存区
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git add hello.txt
--提交本地库
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git commit -m "my third commit" hello.txt
[master 1eec0ee] my third commit1 file changed, 1 insertion(+), 5 deletions(-)--查看分支
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git branch -vhot-fix 661f746 my first commit (hot-fix 分支并未做任何改变)
* master  1eec0ee my third commit (当前 master 分支已更新为最新一次提交
的版本)
所以修改一个分支上的内容并不会对另一个分支内容产生影响。
--查看分支内容
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ cat hello.txt
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
lzk first commit master!
切换分支
基本语法
git checkout 分支名
案例实操
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'
--发现当先分支已由 master 改为 hot-fix
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (hot-fix)
--修改hot-fix分支为以下的内容
$ vim hello.txt
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
lzk second commit hot-fix!
hello git!hello lzk!--添加暂存区
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (hot-fix)
$ git add hello.txt--提交本地库
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (hot-fix)
$ git commit -m "hot-fix commit" hello.txt
[hot-fix 5219180] hot-fix commit1 file changed, 1 insertion(+), 5 deletions(-)

合并分支

基本语法
git merge 分支名
案例实操

在master分支上合并hot-fix分支

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (hot-fix)
$ git checkout master
Switched to branch 'master'ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)
$ git merge hot-fix
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt (产生冲突)
Automatic merge failed; fix conflicts and then commit the result.
--冲突产生的表现:后面状态为 MERGING
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
冲突产生的原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

由于master分支上的hello.txt文件(总12行)后两行与要合并的分支hot-fix的hello.txt文件(总12行)后两行的内容不同,所以Git不知道谁覆盖谁,所以合并失败!

查看状态

检测到文件有两处修改

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ git status
On branch master
You have unmerged paths.(fix conflicts and run "git commit")(use "git merge --abort" to abort the merge)Unmerged paths:(use "git add <file>..." to mark resolution)both modified:   hello.txtno changes added to commit (use "git add" and/or "git commit -a")
解决冲突

编辑有冲突的文件,删除特殊符号,决定要使用的内容

提示:特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ cat hello.txt
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
<<<<<<< HEAD
hello git!hello lzk!
lzk first commit master!
=======
lzk second commit hot-fix!
hello git!hello lzk!
>>>>>>> hot-fixASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ vim hello.txt
按上面的提示进行修改操作--修改完再次查看
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ cat hello.txt
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
hello git!hello lzk!
lzk first commit master!
lzk second commit hot-fix!--添加到暂存区
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ git add hello.txt--执行提交
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master|MERGING)
$ git commit -m "merge hot-fix"
[master 651389c] merge hot-fix--发现后面 MERGING 消失,变为正常
ASUS@LAPTOP-L64DOQDG MINGW64 /d/Git-Space/git-demo1 (master)

实际应用:将项目A同时安排给B,C去完成,每人负责不同的模块,项目A此时就是主线分支master,而B,C需要在其他分支上进行工作,完成各自模块后自身分支合并到主线分支上去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/203895.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cesium 可视化深度纹理

Cesium 可视化深度纹理 // 创建纹理辅助器图元const textureHelper new TextureHelperPrimitive(viewer.scene)viewer.scene.primitives.add(textureHelper)viewer.scene.postRender.addEventListener(function () {const framebuffer viewer.scene.view.pickDepths[0]?.fra…

问题:vue2+elementui,tabs切换显示表格并设置表格选中行高亮失败

错误示范&#xff1a; 1.直接setCurrentRow失败&#xff08;this.currentRow是之前保存的表格当前选中行的数据&#xff09; this.$refs.table.setCurrentRow(this.currentRow);2.以为是表格没生成就执行了setCurrentRow导致设置不成功&#xff0c;所以使用了this.$nextTick&…

[网鼎杯 2020 朱雀组]Nmap

启动环境 结合题目首先就是要知道关于关于nmap命令 相关的命令-oN 标准保存 -oX XML保存 -oG Grep保存 -oA 保存到所有格式 -iL 读取文件内容&#xff0c;以文件内容作为搜索目标 -o 输出到文件 -sP Ping 扫描 还有许多 nmap命令https://blog.csdn.net/weixin_735627…

30.0/集合/ArrayList/LinkedList

目录 30.1什么是集合? 30.1.2为什么使用集合 30.1.3自己创建一个集合类 30.1.3 集合框架有哪些? 30.1.2使用ArrayList集合 30.2增加元素 30.3查询的方法 30.4删除 30.5 修改 30.6泛型 30.1什么是集合? 我们之前讲过数组&#xff0c;数组中它也可以存放多个元素。集合…

vue3 for循环创建的多个e-form 添加校验

v-for 创建 ref <el-form :model"item" :rules"state.rules" :ref"el > getRiskSpreadRef(el, index)" ></el-form>// 定义ref list const riskSpreadRefList ref<HTMLElement[]>([]);// ref存到数组 const getRiskSpread…

前端 计算机基础篇 ( 二 )

文章目录 websockt及原理ipv4和ipv6的区别线程和进程的区别cdn原理缓存所涉及的http状态码缓存的时候设置 no-store和no-cache和max-age0这几个有什么区别token一般存放在哪儿怎么设置强缓存和协商缓存强缓存&#xff1a;1. 使用 Cache-Control 头字段&#xff1a; 协商缓存&am…

竞赛选题 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

使用SpringBoot集成MyBatis对管理员的查询操作

增删改查中的查询操作&#xff0c;对所有的普通管理员进行查询操作。 效果展示&#xff1a; 不仅可以在打开页面时进行对管理员的自动查询操作&#xff0c;还可以在输入框进行查询。 首先是前端向后端发送POST请求&#xff0c;后端接收到请求&#xff0c;如果是有参数传到后端…

C语言--每日选择题--Day27

第一题 1. 对于代码段&#xff0c;问下面不可以表示a[1]地址的是&#xff08;&#xff09; int a[10]; A&#xff1a;&a[0] 1 B&#xff1a;a sizeof(int) C&#xff1a;(int*)&a 1 D&#xff1a;(int*)((char*)&a sizeof(int)) 答案及解析 A A&#xff1a;取到…

免费获取GPT-4的五种工具

不可否认&#xff0c;由OpenAI带来的GPT-4已是全球最受欢迎的、功能最强大的大语言模型&#xff08;LLM&#xff09;之一。大多数人都需要使用ChatGPT Plus的订阅服务去访问GPT-4。为此&#xff0c;他们通常需要每月支付20美元。那么问题来了&#xff0c;如果您不想每月有这笔支…

redis运维(十五) 集合

一 集合 ① 概念 集合的元素在redis里面的世界是member集合&#xff1a; setset集合当中不允许重复的元素&#xff0c;而且set集合当中元素是没有顺序的,不存在元素下标 ② sadd、smembers、srem ③ sismember、srandmember、spop、scard spop 命令用于移除集合中的指定 …

docker国内镜像加速

创建或修改 /etc/docker/daemon.json 文件&#xff0c;修改为如下形式 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"] } Docker中国区官方镜像htt…

MidJourney笔记(4)-settings

前面已经大概介绍了MidJourney的基础知识,后面我主要是基于实操来分享自己的笔记。可能内容顺序会有点乱,请大家理解。 这次主要是想讲讲settings这个命令。我们只需在控制台输入/settings,然后回车,就可以执行这个命令。 (2023年11月26日版本界面) 可能有些朋友出来的界…

C# Winform使用log4net记录日志

写在前面 Log4Net是从Java的log4j移植过来的&#xff0c;功能也与log4j类似&#xff0c;可以把日志信息输出到文件、数据库、控制台、Windows 事件日志、远程系统日志服务等不同的介质或目标。 Log4Net配置选项丰富灵活&#xff0c;并且可在运行时动态更新配置并应用&#xf…

springboot+vue智能企业设备管理系统05k50

智能设备管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xf…

【python+requests】接口自动化测试

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sql…

【开源】基于Vue和SpringBoot的独居老人物资配送系统

项目编号&#xff1a; S 045 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S045&#xff0c;文末获取源码。} 项目编号&#xff1a;S045&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询社区4…

学生信息管理系统程序Python

系统主界面 在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时&#xff0c;有两种方法&#xff0c; 一种是输入1&#xff0c;另一种是按下键盘上的↑或↓方向键进行选择。这两种方法的结果是一样的&#xff0c;所以使用哪种方法都可以。 &#xff08;…

使用echars实现数据可视化

生活随笔 展翅飞翔之际 请下定决心不再回头 echars实现数据可视化 在搭建后台页面时&#xff0c;可能会遇到很多的表格&#xff0c;但有时表格所展现的数据并不能直观的体现出当前用户的宏观信息&#xff0c;所以就可以引入一个新的表格插件——echars 快速上手 - Handbook…

(一)pytest自动化测试框架之生成测试报告(mac系统)

前言 我们可以通过pytest-html插件来生成测试报告&#xff0c;但是pytest-html插件生成的测试报告不够美观&#xff0c;逼格也不够高&#xff0c;通过allure生成的测试报告是比较美观的&#xff0c;花里胡哨的&#xff0c;能够提升一个level。 allure官网&#xff1a; Allure…