【技能树学习】Git入门——练习题解析

前言

本篇文章给出了Git入门技能树中部分的练习题解析,包括分支管理,Git标签,在Mac和Windows上使用Git+VSCode的步骤。强调了git cherry-pick不直接支持从标签中选择提交,git tag -d只能删除本地标签,Mac系统的终端可以安装Homebrew并使用Homebrew安装git。在VSCode中,可以通过命令行或终端直接指定目录,也可以通过拖拽文件夹到VSCode界面来打开目标文件夹。提交变动到Git仅将变更保存在本地仓库,要将这些变更推送到远程仓库,需要执行推送(push)操作。

在这里插入图片描述

1 Git简介

题目1:

版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。
下列哪个不是版本控制系统的正确使用方式?
A.管理项目源代码和项目文本文档(特别是MarkDown文件)
B.管理软件项目,使用版本控制系统来管理软件项目是一个明智的选择。
C.管理文档项目,版本控制系统非常适合用来管理文档项目。
D.当做网盘使用,版本控制系统就是用来做网盘的,特别适合存放大量的二进制文件。

答案解析: D.当做网盘使用,版本控制系统就是用来做网盘的,特别适合存放大量的二进制文件。

版本控制系统主要设计用于跟踪文本文件的变化,并提供协作和版本管理的功能。虽然版本控制系统可以管理任何类型的文件,但它并不是专门设计用于替代传统的文件存储和共享方式,如网盘。版本控制系统对于文本文件的变更记录和合并功能更为强大,而对于大量的二进制文件,如图像、视频等,可能会占用更多的存储空间,并且版本比较和合并可能不如对文本文件那么有效。因此,将版本控制系统当做简单的网盘并不是其正确的使用方式。

题目2:

你知道 Git 属于哪种版本控制系统吗?

Git是一款免费、开源的分布式 版本控制系统,用于敏捷高效地处理任何或小或大的项目。

以下哪个是 Git 版本控制系统的类型?
A.本地版本控制系统

B.集中式版本控制系统

C.分布式集中控制系统

D.云端版本控制系统

答案解析: C.分布式集中控制系统

Git属于分布式版本控制系统,因此正确的选项是:C.分布式集中控制系统

题目3:

Git简介

Git是一款免费、开源的分布式 版本控制系统,用于敏捷高效地处理任何或小或大的项目。

以下哪个不属于 Git 的优点?

A.免费且开源,Git是一款免费、开源的分布式 版本控制系统。
B.分布式集中控制系统,Git是一款免费、开源的分布式 版本控制系统。
C.开发者有完整的克隆代码仓,其中包含所有变更历史,Git是分布式版本控制系统,每个开发者都拥有完整的仓库及历史记录
D.开发者需要连接到服务器才能查看代码变更历史

答案解析: D.开发者需要连接到服务器才能查看代码变更历史

Git是一款分布式版本控制系统,每个开发者可以在本地拥有完整的仓库及历史记录,不需要连接到服务器就能查看代码变更历史。所以,D选项是描述 Git 优点的错误陈述。

在这里插入图片描述

2 Git安装

题目1:

查看 Git 用户名和邮件
Git 安装完之后,通常第一件事就是设置你的用户名和邮件地址。当你配置用户名和邮件地址后,执行git config --list命令时,通常不会看到以下哪个信息?
A.user.name
B.user.email
C.user.name 和 user.email
D.color.ui

答案解析: D.color.ui

当你配置用户名和邮件地址后,执行git config --list命令时,通常会看到 user.nameuser.email 信息,但 color.ui 是用于配置 Git 输出中的颜色信息的,与用户名和邮件地址无直接关系。

题目2:

Git忽略文件.gitignore
把要忽略的文件名添加到 .gitignore 文件中,Git 在每次进行提交的时候就会自动忽略这些文件。 以下哪个不是 .gitignore 配置文件的正确写法?

A…*,这个表示排除所有.开头的隐藏文件
B.!.gitignore,这个表示不排除.gitignore
C…class,这个表示排除所有.class文件
D.#app,这个表示 app 会被git执行

答案解析: D.#app,这个表示 app 会被git执行

.gitignore文件中,行首以井号(#)开头的内容被视为注释,而不是用于匹配要忽略的文件。因此,#app 不是正确的写法,它会被当作注释而不是忽略规则。

题目3:

Git 配置别名
配置 Git 别名的命令格式为 git config --global alais.XXXX ‘git-origin-commands’。 以下哪个是 git 别名的配置方法?

A.git add -f App.class
B.git config --global alias.last 'log -1’
C.git config --global user.email li@csdn.net
D.git reset HEAD file

答案解析: B. git config --global alias.last 'log -1'

这命令会配置一个 Git 别名,使得可以通过 git last 来代替 git log -1

在这里插入图片描述

3 Git使用

题目1:

Git 仓库创建
以下哪个命令不能用于创建 git 仓库?

A.git checkout 可直接将一个远程git仓库签出到本地。
B.git clone 可用于克隆已经存在的 git 仓库。
C.git init 可在已经存在的目录中创建一个新的 git 仓库。
D.git init 初始化一个空的新项目,然后通过 git remote add origin https://gitcode.net/example-project.git 和某个远程git仓库关联起来。

https://profile-avatar.csdnimg.cn/bdfd05e0bbe246e2966901c2a81b12bd_community_717.jpg!1

https://profile-avatar.csdnimg.cn/bdfd05e0bbe246e2966901c2a81b12bd_community_717.jpg!1

答案解析: A. git checkout 可直接将一个远程git仓库签出到本地。

git checkout 主要用于切换分支或恢复工作目录中的文件,而不是用于创建新的 Git 仓库或克隆远程仓库。创建新仓库可以使用 git init,克隆远程仓库可以使用 git clone

题目2:

Git查看当前仓库状态变化
用git status命令可以看哪些内容?

  1. 上次提交的提交信息是什么
  2. 工作目录中有哪些文件还没有放进暂存区
  3. 暂存区中有哪些内容还没有提交到仓库
  4. 上次提交修改了哪些内容

答案解析:2 3

git status 命令可以展示以下信息:

  • 工作目录中有哪些文件还没有放进暂存区
  • 暂存区中有哪些内容还没有提交到仓库

题目3:

Git使用
以下对 git 分组命令作用描述不正确的是?

A.添加文件命令: git add / git commit

B.这组用来创建仓库: git reset / git commit

C.恢复文件: git log / git reset

D.创建仓库命令: git init / git clone

答案解析: B.这组用来创建仓库: git reset / git commit

git resetgit commit 不是用来创建仓库的命令。git reset 通常用于撤销之前的提交或更改工作区和暂存区的状态,而 git commit 用于提交更改到仓库。创建仓库通常使用 git initgit clone

在这里插入图片描述

4 版本管理

题目1:

版本管理
上述那些是对 git 版本管理的描述不正确的是?
A.当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file
B.当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git delete
C.已经提交了不合适的修改到版本库时,想要撤销本次提交,可以用命令git reset --hard commit_id,不过前提是没有推送到远程库
D.当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,然后想直接丢弃工作区的修改时,用命令git checkout – file

答案解析: B.当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git delete

正确的命令应该是 git checkout -- file,而不是 git deletegit checkout -- file 用于丢弃工作区中某个文件的修改。

在这里插入图片描述

5 分支管理

题目1:

分支管理
git cherry pick 是一个很强大的命令,他可以支持从某次/多次提交、多次连续的提交、分支以及其他远程仓库中进行代码的应用操作。以下哪个是 Cherry Pick 的错误用法
A.git cherry-pick 回答错误,该命令表示应用某个分支的最近一次提交到当前分支。
B.git cherry-pick 回答错误,该命令表示应用多个提交到当前分支。
C.git cherry-pick 该命令表示应用某个tag的提交到当前分支
D.git cherry-pick A^…B 该命令表示应用包含A的多次提交到当前分支。

答案解析: C. git cherry-pick <tag> 该命令表示应用某个tag的提交到当前分支。

Cherry-pick 不直接支持从标签(tag)中选择提交进行应用。 Cherry-pick 主要用于选择某个分支上的提交并将其应用到当前分支。

在这里插入图片描述

6 Git标签

题目1:

Git标签
以下描述错误的是?
A.命令git tag -d 可以同时删除一个本地标签和远程标签;
B.命令git push origin 可以推送一个本地标签;
C.命令git tag -a -m 'messages’可以创建一个带附注的标签
D.命令git tag -s -m 'messages’可以创建一个带 gpg 签名的标签

答案解析: A. 命令 git tag -d <tagname> 可以同时删除一个本地标签和远程标签;

这是错误的描述。git tag -d <tagname> 只能删除本地标签,要删除远程标签需要额外的步骤,如使用 git push origin --delete <tagname>

在这里插入图片描述

7 极简Git+VSCode(Mac)

题目1:

极简 Git+VSCode for Mac(1): 安装Git
第一步,请执行以操作打开Mac下的终端。

  1. 点按程序坞中的“启动台”图标 ,在搜索栏中键入“终端”,然后点按“终端”。
  2. 在“访达” 中,打开“/应用程序/实用工具”文件夹,然后连按“终端”。
  3. 打开的“终端”一般如下图所示:略

第二步,请执行以操作安装Mac下的包管理软件:brew
简单介绍下brewbrew是一个包管理软件,用来安装、更新、卸载Mac上的其他工具包和库。

  1. 拷贝命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 在“终端”里粘贴
  3. 回车执行,等待brew安装完成,有时候网络慢会等的旧一点,必要时请开VPN。

安装过程如图所示:略

安装成功后,如图所示:略

第三步,请执行以操作,使用刚刚安装的 brew 来安装 git 的最新版本。

  1. 拷贝命令:brew install git
  2. 在“终端”里粘贴
  3. 回车执行,等待brew安装完git。
  4. 安装成功后,关闭终端并重现打开。
  5. 重新打开终端后,输入命令git --version并回车,查看git的最新版本号。

开始安装如图所示:略

安装过程如图所示:略

安装成功如图所示:略

好了,经过上述操作,你已经成功在Mac系统上使用终端安装了git的最新版本。以下说法错误的是?
A.Mac下无法打开终端,Mac下的终端无法安装brew,Mac下的终端即使装了brew也不能使用brew安装git。
B.Mac的终端在“应用程序/实用工具”目录下。

C.查看 git 版本号的命令是: git --version

D.使用 brew 安装 git 的命令是: brew install git

答案解析: A. Mac下无法打开终端,Mac下的终端无法安装brew,Mac下的终端即使装了brew也不能使用brew安装git。

这是错误的说法。Mac系统的终端可以打开,并且可以通过终端安装Homebrew(brew),然后使用Homebrew安装git。正确的说法是:

  • B. Mac的终端在“应用程序/实用工具”目录下。
  • C. 查看 git 版本号的命令是: git --version
  • D. 使用 brew 安装 git 的命令是: brew install git

题目2:

极简 Git+VSCode for Mac(2): 在GitCode上创建一个Git仓库

第1步:登陆GitCode

  1. GitCode 是CSDN官方的Git代码仓库中心,网站地址是: https://gitcode.net
  2. GitCod 的登陆账号就是你的 CSDN 账号。
  3. 请使用 CSDN 账号登陆 GitCode

登陆前如图所示:

登陆后如图所示,如果在移动端安装了CSDN App,也可以通过 CSDN App 扫码登陆:

点击右上角的用户头像图标,在下拉菜单里点击“个人主页”,进入你的GitCode个人主页:

第2步:创建一个Git仓库

  1. 在GitCode个人主页右上角,点击+号按钮,在下拉菜单里点击“新建项目”
  2. 在新建项目页面里选择“创建空白项目”
  3. 在“创建空白项目”配置页面填写“项目名称”,“项目描述”,并勾选“使用自述文件初始化仓库”
  4. 最后点击“新建项目”,创建项目。

新建项目按钮如图所示:

选择创建空白项目如图所示:

“创建空白项目”配置页面填写“项目名称”,“项目描述”,并勾选“使用自述文件初始化仓库”。例如这里第一个项目起名叫做“hello_git”

点击“新建项目”后,如图所示:

第3步:使用Git命令克隆仓库到本机

  1. 在Git项目页面上拷贝仓库地址。
  2. 在本机适用 Git 命令将仓库克隆下来。

如图所示,点击仓库页面上的“克隆”按钮,选择“通过 HTTPS Clone 项目”的地址,并拷贝。这里示例的是:https://gitcode.net/huanhuilong/hello_git.git

如图所示,在本机打开“终端”,输入命令pwd,并回车,查看当前终端环境下的工作目录位置,下图显示当前目录在Mac系统个人用户目录下。

如图所示,我们希望将终端环境的工作目录切换到桌面。输入命令cd /Users/feilong/Desktop,并回车,进入到桌面。再次输入pwd并回车可以看到工作目录已经切换到了桌面。(注意这里的"feilong"应该替换为你自己的Mac系统用户名)

如图所示,现在我们使用 Git 命令来克隆前一节创建的 Git 仓库。输入命令git clone https://gitcode.net/huanhuilong/hello_git.git,并回车。

如图所示,Git 会将在GitCode上创建的仓库克隆到本机:

如图所示,此时Mac电脑的桌面上已经有了"hello_git"这个目录:

第4步:请回答问题:

通过上面的几个步骤,你已经学会了如何在 GitCode 上创建一个Git仓库,并克隆到本机,以下描述错误的是?
A.GitCode 上创建Git仓库时,可以选择创建空白项目,并配置“项目名称”,“项目描述”,创建时可以勾选“使用自述文件初始化仓库”以简化仓库数据初始化。
B.GitCode 上可以创建并托管一个Git仓库。

C.GitCode 不用登陆就可以创建Git仓库,并且会自动将Git仓库从远程克隆到本机。

D.GitCode 可以使用 CSDN 账号登陆。

答案解析: C. GitCode 不用登陆就可以创建Git仓库,并且会自动将Git仓库从远程克隆到本机。

这是错误的描述。通常,在大多数代码托管平台,包括 GitCode,创建Git仓库时需要先登录账号。并且,创建仓库后你需要手动克隆到本机。

题目3:

极简 Git+VSCode for Mac(3): 安装VSCode并打开Git仓库

  1. 打开 https://code.visualstudio.com/ 下载 VSCode Mac版
  2. 解压 VSCode-darwin-universal.zip,得到 Visual Studio Code.app
  3. 将 Visual Studio Code.app 拖放到 Mac 的“应用程序”里
  4. 在应用程序里双击Visual Studio Code打开 VSCode
  5. 在VSCode 里按快捷键“command+shift+p”
  6. 在打开的输入框里输入 “shell command”
  7. 点击下拉菜单:“Shell Command: install ‘code’ command in PATH”
  8. 这样我们就在终端里安装了一个命令code,通过这个命令可以在终端里使用code {dir}来使用VSCode打开指定目录。
  9. 例如打开Mac的终端,输入 cd /Users/feilong/Desktop/hello_git 进入到上一节克隆到本机的Git仓库目录。
  10. 然后执行命令:code .,并回车,就会使用VSCode打开 hello_git 仓库目录。
  11. 当然,也可以在打开VSCode后,通过菜单“文件->打开文件夹”的方式打开 hello_git 目录。取决于你更喜欢命令行还是GUI操作。

如图所示,下载VSCode并安装:

如图所示,安装code命令到终端:

如图所示,在命令下使用code .命令打开仓库,这里的 . 表示当前目录。

如果所示,VSCode里打开了仓库目录,会提示是否信任目录,点击信任。

如图所示,VSCode打开了 hello_git 仓库,点击“README.md”文件并显示

经过上述操作,你已经学会安装VSCode并打开Git仓库了,以下描述错误的是?
A.VSCode 可以通过菜单 文件->打开文件夹 来打开目标文件夹。
B.Mac下安装VSCode实际上就是把VSCode程序拷贝到Mac访达里的的“应用程序”下即可。

C.VSCode 只能通过菜单 文件->打开文件夹 来打开目标文件夹。

D.VSCode 可以通过注册code命令到终端,在终端里使用code {dir} 的方式打开目录。

答案解析: C. VSCode 只能通过菜单 文件->打开文件夹 来打开目标文件夹。

这是错误的描述。事实上,除了通过菜单,VSCode 还可以通过命令行或终端直接指定目录,也可以通过拖拽文件夹到 VSCode 界面来打开目标文件夹。所以选项 C 中的说法是不准确的。

题目4:

极简 Git+VSCode for Mac(4): 使用VSCode添加MarkDown文件到Git仓库

如图所示,在VSCode的左侧导航列表里,使用右键菜单新建一个目录:doc,并在doc目录下新建一个MarkDown文件test.md

如图所示,在test.md里编辑几行MarkDown文本(MarkDown语法请学习本技能树第二章),并保存。

如图所示,点击VSCode左侧的“Git面板按钮”,切换左侧导航栏。可以看到按钮上也显示里一个数字1,表示有一个文件发生变动。这里是新增了一个test.md文件。

如图所示,在“源代码管理”下的输入框里输入一个提交信息,这里输入“第一次提交”。

如图所示,在打勾图标的“提交”按钮,将文件的变动提交到Git本地。注意这里的提交只是将变动的文件提交到Git的本地索引系统里,还并不是提交到Git远程仓库。

如图所示,弹框会提示你还没有可提交到暂存更改。这是由于将文件变动提交到Git本地索引是需要两个步骤的,先将文件变动加入到暂存更改,再将暂存更改提交到Git本地索引。这里只需要点击「是」,VSCode会自动把两个步骤都做掉。

如图所示,提交后,VSCode左侧按钮栏的“Git面板按钮”上的数字消失了。我们希望将本地修改推送到GitCode的远程仓库。但是GitCode仓库上,仓库的其他成员可能也添加了文件,因此一般需要在推送前先拉取下变动到本机,如果拉取的过程中远程仓库的文件和本地的文件有冲突,则需要解决冲突,如何解决冲突不在本节考虑的范围。

如图所示,我们进一步点击下来菜单,点击“推送”按钮,将Git仓库的本地索引变动推送到GitCode上的远程仓库。

如图所示,Mac系统可能会提示你输入GitCode仓库的用户名密码,或者之前已经配置过,但是首次推送也会提示是否允许使用。根据提示做相应的授权即可。

如图所示,推送成功后,打开GitCode的 hello_git 仓库,可以看到新增的doc/test.md文件已经提交到仓库。

经过这些操作,你已经学会了在VSCode里给Git仓库添加文件,提交到Git本地索引,拉取远程Git仓库变动到本机,再推送本地Git仓库的变动到远程仓库。以下描述错误的是?
A.VSCode 里文件变动后直接点提交实际上会提示你是否先将文件变动添加到Git的暂存区,再进一步将暂存区变动提交到Git本地索引。
B.一般情况下推送数据到远程仓库之前,最好先拉取下远程仓库的变动到本地,可能的话需要解决冲突。

C.Git 仓库的文件发生变化后,VSCode左侧的Git面板按钮上会显示有变动的文件个数。

D.Git仓库文件编辑后,提交变动到Git后,文件就已经推送到了远程仓库。

答案解析: D. Git仓库文件编辑后,提交变动到Git后,文件就已经推送到了远程仓库。

这是错误的描述。提交变动到Git仅将变更保存在本地仓库,要将这些变更推送到远程仓库,需要执行推送(push)操作。提交(commit)和推送(push)是两个独立的步骤。

在这里插入图片描述

8 极简Git+VSCode(Windows)

题目1:

极简 Git+VSCode for Windows(3): 安装VSCode并打开Git仓库

  1. 打开 VSCode下载页面 下载 Windows 版,安装System Installer 对应的版本。
  2. 双击 VSCodeSetup-x64-x.yy.z.exe 开始安装
  3. 在开始菜单中找到 Visual Studio Code 打开 VSCode
  4. 打开VSCode后,通过菜单“文件->打开文件夹”的方式打开 hello_git 目录。

如图所示,打开 https://code.visualstudio.com/ 下载 Windows 版:

如图所示,安装 vscode:

如果所示,VSCode里打开了仓库目录(如提示是否信任目录,点击信任)

如图所示,VSCode打开了 hello_git 仓库,点击“README.md”文件并显示

经过上述操作,你已经学会安装VSCode并打开Git仓库了,以下描述错误的是?
A.VSCode 可以通过菜单 文件->打开文件夹 来打开目标文件夹。
B.VSCode Windows 版本可以在官方网站上免费下载使用。

C.VSCode Windows 版本只需要根据安装向导同意协议并点击下一步即可完成安装。

D.VSCode 只能通过菜单 文件->打开文件夹 来打开目标文件夹。

答案解析: D.VSCode 只能通过菜单 文件->打开文件夹 来打开目标文件夹。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++ 回调函数 callback 异步编程

一、C语言的回调函数 1.小试牛刀 #include <iostream> using namespace std; #include <memory> #include <stdlib.h>int add(int a, int b) {return a b; }void test01() {// 函数指针可以指向任何类型的函数&#xff0c;只要函数的参数列表和返回值类型…

单片机串口 奇偶校验 配置问题

一、问题描述 使用GD32单片机串口进行通信测试&#xff0c;单片机的串口配置的是偶校验(Even)、数据位为8、停止位为1、波特率为9600。串口测试软件用的格西烽火&#xff0c;软件的配置如下&#xff1a;   单片机通过串口和串口测试软件进行通信交互&#xff0c;软件收到的数…

绩效主义不可取,为什么还有那么多企业在使用KPI?KPI到底行不行!

“绩效主义毁了索尼” “企业差点被KPI害死” “绩效主义就是企业的脓包” 相信这些言论在过去的若干年里都听过&#xff0c;都是国内外知名企业的大佬说过的话&#xff0c;KPI绩效考核犹如过街老鼠&#xff0c;人人喊打。 虽然近几年&#xff0c;随着小米、知乎等互联网企业…

【HTML 基础】语义化标签

文章目录 1. <header>2. <nav>3. <article>4. <section>5. <footer>为什么使用语义化标签结语 在现代的 Web 开发中&#xff0c;语义化标签成为设计网页结构的重要组成部分。通过使用 <header>, <nav>, <article>, <sectio…

新型生成式 AI 助手 Amazon Q(预览版)上线

今天&#xff0c;我们宣布推出 Amazon Q&#xff0c;这是一种新型的生成式人工智能助手&#xff0c;专门用于满足办公场景需要&#xff0c;可以根据客户业务进行定制。客户可以使用 Amazon Q 进行对话、解决问题、生成内容、获取见解并采取行动&#xff0c;所有这些都基于客户自…

RibbonOpenFeign源码(待完善)

Ribbon流程图 OpenFeign流程图

亚马逊认证考试系列 - 知识点 - 安全组介绍

第一部分&#xff1a;AWS简介 Amazon Web Services&#xff08;AWS&#xff09;是全球领先的云计算服务提供商&#xff0c;为个人、企业和政府机构提供广泛的云服务解决方案。AWS的服务包括计算、存储、数据库、分析、机器学习、人工智能、物联网、安全和企业应用等领域。AW…

2寸证件照多大?怎么裁剪?分享3个工具!

在我们的日常生活中&#xff0c;证件照是必不可少的。不同的场合需要不同尺寸的证件照&#xff0c;其中2寸证件照是最为常见的一种。那么&#xff0c;2寸证件照是多大呢&#xff1f;又有哪些软件可以编辑证件照呢&#xff1f;本文将为你一一解答。 首先&#xff0c;让我们来了解…

大数据企业应用场景分析

目录 一、企业分析 1.1 企业领域维度分析 1.2 技术服务型维度分析 1.3 细分领域维度分析 二、大数据应用场景 2.1 数据分析 2.2 智能推荐 2.3 产品/流程优化 2.4 异常监测 2.5 智能管理 2.6 人工智能和机器学习 三、总结 前言&#xff1a;想讲清楚大数据应用对企业…

第十四篇【传奇开心果系列】Python的OpenCV库技术点案例示例:图像特征提取与描述

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列短博文目录前言一、OpenCV图像特征提取与描述介绍二、OpenCV图像特征提取与描述初步示例代码三、扩展思路介绍四、特征点筛选和匹配优化示例代码五、多尺度特征提取示例代码六、非局部特征描述子示例代码…

运行vue3项目出现的问题

Mac 系统运行 vue 启动项目时报错: Permission denied 的解决方式 控制台运行 chmod 777 node_modules/.bin/vue-cli-service 如果 npm run dev 还报这个错 控制台运行 node node_modules/esbuild/install.js

c++之说_10|自定义类型 union 联合体

之前我们说了一些 struct 结构体 现在来了解新的自定义类型 union 联合体 语法 union ptr {void* fptr;CLassFunPtr p;FunPtr p2;ptr& operator(CLassFunPtr ptr){p ptr;return *this;}ptr& operator(FunPtr Fptr){p2 Fptr;return *this;} } FunPtr_; 我们看到了…

代驾应用系统(ssm)

登录首页 管理员界面 代驾司机界面 普通用户界面 前台页面 1、系统说明 &#xff08;1&#xff09; 框架&#xff1a;spring、springmvc、mybatis、mysql、jsp &#xff08;2&#xff09; 系统分为前台系统、后端管理系统 2、欢迎留言联系交流学习讨论&#xff1a;qq 97820625…

seatunnel数据集成(三)多表同步

seatunnel数据集成&#xff08;一&#xff09;简介与安装seatunnel数据集成&#xff08;二&#xff09;数据同步seatunnel数据集成&#xff08;三&#xff09;多表同步seatunnel数据集成&#xff08;四&#xff09;连接器使用 seatunnel除了单表之间的数据同步之外&#xff0c;…

Elasticsearch:基本 CRUD 操作 - Python

在我之前的文章 “Elasticsearch&#xff1a;关于在 Python 中使用 Elasticsearch 你需要知道的一切 - 8.x”&#xff0c;我详细讲述了如何建立 Elasticsearch 的客户端连接。我们也详述了如何对数据的写入及一些基本操作。在今天的文章中&#xff0c;我们针对数据的 CRUD (cre…

Dockerfile文件参数配置和使用

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

算法学习——LeetCode力扣链表篇2

算法学习——LeetCode力扣链表篇2 24. 两两交换链表中的节点 24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&…

零售新业态,让老牧区焕发新生命

敦煌老马一声魔性“浇给”勾起了无数人对羊肉的食欲&#xff0c;而当大家集体涌入餐厅或者在网上下单&#xff0c;都想要尝一尝网红同款的时候&#xff0c;可能并没有想过这样一个问题——为什么在今天&#xff0c;即便是远离牧区的现代大城市&#xff0c;草原羊肉却一样能触手…

12. UE5 RPG使用GameplayEffect修改角色属性(三)

书接 11. UE5 RPG使用GameplayEffect修改角色属性&#xff08;二&#xff09; 前面&#xff0c;介绍了GameplayEffect的Instant和Duration的使用&#xff0c;这一篇主要介绍一下无限制时间类型的infinite的使用方式。 无限时间限制模式下&#xff0c;如果你的周期时间&#xff…

tee漏洞学习-翻译-2:探索 Qualcomm TrustZone的实现

原文&#xff1a;http://bits-please.blogspot.com/2015/08/exploring-qualcomms-trustzone.html 获取 TrustZone image 从两个不同的位置提取image 从手机设备本身从google factory image 已经root的Nexus 5设备&#xff0c;image存储在eMMC芯片上&#xff0c;并且eMMC芯片…