Git使用【上】

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析3

在这里插入图片描述


前言
先前有些git命令我在我的其它文章里面已经写过,若要查看可参考【Linux】环境基础开发工具使用,这篇文章不再概述其中的一些命令


目录

  • 👉🏻git 命令
    • git config
    • git diff
    • git log
      • SHA-1 校验和
  • 👉🏻git怎么进行分布式管理?
    • 🌈认识工作区、暂存区和版本库
  • 👉🏻版本回退
    • 概念
    • 当前版本HEAD指的是版本库中的当前版本,还是工作区或暂存区的当前版本?
    • git reset命令
    • git reflog 在版本回退中的作用
    • git版本回退为什么那么快?
  • 👉🏻撤销修改
    • 对于⼯作区的代码,还没有 add
    • 已经 add ,但没有 commit
    • 已经 add ,并且也 commit 了
  • 👉🏻删除文件

👉🏻git 命令

git config

当你使用Git进行版本控制时,git config是一个用于配置Git的命令。它允许你设置和查看与Git相关的配置选项,包括全局配置、仓库配置和用户配置等。

以下是git config命令的一些常见用法及其作用:

  1. 配置全局用户名和邮箱:
   git config --global user.name "Your Name"git config --global user.email "yourname@example.com"

这些配置用于标识你在Git中提交代码时的身份信息。

  1. 查看和修改配置:

    git config --list            // 列出当前所有的Git配置选项
    git config --global --edit   // 编辑全局配置文件
    git config --local --edit    // 编辑当前仓库的配置文件
    git config <key>             // 查看指定配置项的值
    git config <key> <value>     // 设置指定配置项的值
    

    --list选项用于列出所有配置选项及其值。--global选项表示对全局配置进行操作,--local选项表示对当前仓库的配置进行操作。你可以使用--edit选项来通过文本编辑器修改配置文件。

  2. 配置其他选项:

    git config --global core.editor "nano"   // 设置全局文本编辑器(默认为Vi)
    git config --global color.ui true        // 启用全局颜色输出
    

    除了用户名和邮箱外,你可以配置其他的Git选项来满足个人偏好和工作流程要求。上述示例中,我们设置了全局文本编辑器为nano,并启用了颜色输出。

需要注意的是,git config命令的配置选项有多个层级,优先级从高到低依次为:命令行参数(Command-line options) > 仓库级别配置文件(Repository-level configuration file) > 用户级别配置文件(User-level configuration file) > 系统级配置文件(System-level configuration file)。因此,如果针对同一个选项有多个配置设置,Git将使用优先级最高的那个。

4.取消配置

git config --unset 命令用于取消 Git 配置选项的设置,即从配置文件中移除指定的键值对。使用该命令需要提供相应配置选项的名称,例如 user.email

以下是一些常见的 git config --unset 命令的示例:

  • 取消全局 Git 配置文件中的用户名设置:

    git config --global --unset user.name
    
  • 取消当前 Git 仓库的配置文件中的用户名和邮箱地址设置:

    git config --unset user.name
    git config --unset user.email
    

需要注意的是,git config --unset 命令只会移除特定配置选项的键值对,而不会删除整个配置选项。如果需要删除某个配置选项,可以手动编辑配置文件,或者使用 --unset-all 参数来删除所有匹配选项。

git diff

git diff 是一个用于比较文件差异的 Git 命令。它可以用来查看工作区与暂存区之间或者暂存区与最新提交(HEAD)之间的文件差异。

下面是 git diff 命令的常见用法:

  1. 比较工作区与暂存区的差异:

    git diff
    

    这会显示工作区中未添加到暂存区的文件修改内容。

  2. 比较暂存区与最新提交(HEAD)的差异:

    git diff --cached
    

    这会显示已添加到暂存区但尚未提交的修改内容。

  3. 比较工作区与最新提交(HEAD)的差异:

    git diff HEAD
    

    这会显示自上次提交以来对文件所做的所有更改。

  4. 比较两个提交之间的差异:

    git diff <commit1> <commit2>
    

    这会显示两个提交之间所有文件的差异。

git diff 的输出中,以 - 表示被移除的行,以 + 表示新增的行。

除了上述常见用法外,git diff 命令还支持其他选项和参数,例如限制显示的文件范围、忽略空白字符等。你可以通过 git diff --help 查看详细的帮助信息。
在这里插入图片描述

git log

git log 是 Git 中一个常用的命令,可以显示当前分支的提交历史。它可以列出每个提交的 SHA-1 校验和作者日期提交信息等。

git log 命令的基础语法如下:

git log

该命令会按照提交时间的倒序列出当前分支的所有提交。

git log 命令还支持多种有用的选项。以下是一些常用的选项:

  • -n: 显示最近的 n 个提交(例如 git log -3 将显示最近的三个提交)。
  • --oneline: 用一行显示提交信息(包括 SHA-1 校验和和提交信息)。
  • --graph: 显示提交历史的 ASCII 图形化表示。
  • --all: 显示所有分支的提交历史。
  • --decorate: 显示分支和标签的名称。

除此之外,还有许多其他的选项和参数可以用于 git log 命令。你可以通过 git log --help 查看完整的帮助文档。

git log 命令对于查看提交历史非常有用。它可以让你了解每个提交的详细信息,方便你回溯版本、合并分支等操作。

git log --pretty=oneline 是 Git 中常用的一个命令,表示只显示每条提交记录的 SHA-1 校验和和提交信息,每条记录占用一行。在终端中使用该命令输出即将换行的时候,会将当前行显示为更简洁的形式。

请注意,在 --pretty 选项后面的等号和 oneline 之间不应有空格。

以下是一个示例:

$ git log --pretty=oneline
65246b8d9a6d7d865771d5e08a413d6c3a9ef2d8 Add new feature to the project
f69ad5fcff56a4eeccbc4dbdcfb37a1d22c7317d Fix a bug in the login feature
b6e4737df58135e56cdf9dbb16a87d81b40b0109 Initial commit

通过这个命令,你可以快速查看提交历史,快速了解每个提交的信息和变更内容,对于代码审核、版本回退等操作都非常方便。

SHA-1 校验和

SHA-1(Secure Hash Algorithm 1)是一种密码散列函数,用于产生数据的唯一标识。它可以将任意长度的数据转换为一个固定长度的哈希值,通常以40个十六进制字符(160位)表示。

SHA-1 校验和是通过对数据应用 SHA-1 算法得到的结果。它具有以下特点:

  1. 唯一性:不同的数据很难产生相同的 SHA-1 校验和。即使数据的微小变化也会导致完全不同的校验和。
  2. 不可逆性:从 SHA-1 校验和无法还原出原始数据。换句话说,无法通过校验和推导出原始的数据内容。
  3. 固定长度:SHA-1 校验和的长度固定为40个字符,不管原始数据的大小。

在版本控制系统(如 Git)中,SHA-1 校验和被广泛应用于唯一标识提交对象、文件快照等。通过校验和,可以准确地区分不同的提交或文件,并且可以检查数据的完整性。如果对数据进行了任何修改,SHA-1 校验和也会发生变化

需要注意的是,由于 SHA-1 已经存在安全漏洞,因此在某些安全敏感的场景中,已经不建议使用 SHA-1。较新的散列算法,如 SHA-256,提供更高的安全性。

👉🏻git怎么进行分布式管理?

🌈认识工作区、暂存区和版本库

当使用 Git 进行版本控制时,工作区、暂存区和版本库是三个重要的概念。

  1. 工作区(Working Directory):

    工作区是你的项目目录,是你编辑、修改文件的地方。在工作区中可以新增、删除、编辑文件,但这些变化不会直接记录到 Git 中。你可以将工作区比喻为普通的文件夹。

  2. 暂存区(Staging Area):

    暂存区是位于 Git 仓库中的一个特殊区域,它充当了一个缓冲区或者提前准备提交的区域,我们把暂存区有时也叫作索引(index)。在暂存区中,你可以选择要提交的文件、对文件进行部分修改,并通过 git add 命令将这些修改记录到暂存区。一旦文件被添加到暂存区,Git 就会跟踪这些修改。

  3. 版本库(Repository):

    版本库是 Git 的核心部分,其中记录了项目的完整历史信息。它保存着每个提交(commit),包括文件的更改、作者、时间等元数据。版本库通常位于项目目录的 .git 文件夹下,它包含了暂存区、分支、标签等信息,是 Git 来管理和维护项目历史的地方。

Git 的工作流程如下:

  1. 在工作区中对文件进行修改。
  2. 使用 git add 将修改的文件添加到暂存区。
  3. 使用 git commit 将暂存区的文件提交到版本库,形成一个新的提交记录。

通过将更改逐步从工作区移动到暂存区,再移动到版本库中,Git 可以准确地记录文件的变化历史,并允许用户灵活地管理和回溯项目的不同版本。

下面这张图展示了它们之间的关系:👇🏻👇🏻
在这里插入图片描述
在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀,以及指向 master 的⼀个指针叫 HEAD。

当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。

💫💫
add修改的工作区内容进入暂存库时,实际上,此时会有一个对象库生成一个新的git对象,专门指向刚才add提交在暂存库的内容的索引。

当执⾏提交操作git commit时,master 分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中

我们用linux命令也可以查看当前git仓库下的目录👇🏻👇🏻
在这里插入图片描述

⭐️总结一下

通过新建或粘贴进⽬录的⽂件,并不能称之为向仓库中新增⽂件,⽽只是在⼯作区新增了⽂件。必须要通过使⽤ git add 和 git commit 命令才能将⽂件添加到本地仓库中进⾏管理

👉🏻版本回退

概念

Git 版本回退的原理主要涉及 Git 的分支、提交和引用的管理机制。

在 Git 中,每次提交都会生成一个唯一的提交对象(commit object),包含了当前文件状态的快照作者时间戳等信息。提交对象会以有向无环图(DAG)的形式组织起来,形成提交历史。

Git 使用分支(branch)来表示不同的开发路径,每个分支都指向一个提交对象。而 HEAD 则是当前分支的引用,指向最新的提交。通过移动 HEAD 和分支引用,可以实现版本回退

当执行 git reset 命令时,根据命令选项的不同,Git 会调整分支引用和 HEAD 的位置

  1. --soft 选项:
    参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。

  2. --mixed 选项:
    为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。

  3. --hard 选项:
    参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重。
    在这里插入图片描述

🌟HEAD说明

  • 可直接写成 commit id,表⽰指定退回的版本
  • HEAD 表示当前版本
  • HEAD^ 上⼀个版本
  • HEAD^^ 上上⼀个版本
  • 以此类推…

🌟可以使⽤ 〜数字表⽰

  • HEAD~0 表⽰当前版本
  • HEAD~1 上⼀个版本
  • HEAD^2 上上⼀个版本
  • 以此类推

总结起来,Git 版本回退的原理就是通过移动分支引用和 HEAD 来改变当前所处的提交位置,并相应地调整工作区和暂存区的状态。

需要注意的是,回退操作会修改提交历史,因此在团队协作或者远程仓库存在的情况下,谨慎使用版本回退功能。

当前版本HEAD指的是版本库中的当前版本,还是工作区或暂存区的当前版本?

HEAD 是 Git 中的一个指针,指向当前所在的分支或提交。它可以理解为对当前版本的引用。

具体来说,HEAD 指向的是当前所在分支的最新提交(即版本库中的当前版本)。当你进行提交操作时,HEAD 将会移动到新的提交上。

与 HEAD 相关的有两个概念需要注意:

  1. 工作区:工作区是你在电脑上看到和修改的项目目录。当你在工作区修改文件后,这些修改并没有被提交到版本库中。

  2. 暂存区:暂存区也称为索引(index),是位于工作区和版本库之间的一个中间区域。它用于暂存你想要提交的文件改动。

当你执行 git add 命令将文件添加到暂存区后,HEAD 的指向不会发生变化,仍然指向当前分支的最新提交。只有在执行 git commit 命令后,HEAD 才会移动到新的提交上,并且该提交成为当前分支的最新提交。

总结起来,HEAD 指向的是版本库中当前分支的最新提交,而不是工作区或暂存区的当前版本。工作区和暂存区的当前版本没有直接的指针,它们的状态是相对于最新提交来描述的。

git reset命令

git reset 是 Git 中一个重要的命令,用于移动 HEAD 和分支引用来撤销提交或将分支重置到不同的提交上。它有多种用法和选项,常用的包括 --soft--mixed--hard

下面是 git reset 命令的常见用法:

  1. 撤销最新的提交并保留修改:

    git reset --soft HEAD^
    

    这会将 HEAD(当前分支的引用)移动到上一个提交,同时保留修改的文件在暂存区中。这样你可以重新提交这些修改。

  2. 撤销最新的提交并取消暂存的修改:

    git reset --mixed HEAD^
    

    这会将 HEAD 移动到上一个提交,并取消暂存区的修改。工作区中的文件保持不变,你可以对这些文件进行新的提交或修改。

  3. 撤销最新的提交并丢弃修改:

    git reset --hard HEAD^
    

    这会完全移除最后一次提交及其修改。工作区、暂存区和版本库都将回退到上一个提交的状态。注意:此操作会丢失未提交的文件修改,慎用!

HEAD^ 表示上一个提交,可以使用 HEAD~n 来表示前 n 个提交。例如,HEAD~2 表示上两个提交。

除了上述常见用法外,git reset 命令还支持其他选项和参数,例如通过提交 ID 进行重置,指定分支名等。你可以通过 git reset --help 查看详细的帮助信息。

在使用 git reset 时,请务必小心操作。如果你不确定操作的影响,请备份后再执行。

git reflog 在版本回退中的作用

git reflog 是 Git 中一个非常有用的命令,用于查看本地仓库中的引用日志(reference log)。它记录了分支、标签或 HEAD 移动的历史,包括提交、合并、重置等操作。

在版本回退中,git reflog 的作用非常重要。当你使用 git resetgit revert 等命令回退版本时,可能会希望回到之前的某个状态。而此时,如果没有记录每次操作的信息,就很难恢复到之前的状态。

git reflog 可以显示你在本地仓库中执行的所有操作,并提供了每个操作的 HEAD 的位置和提交校验和(commit hash)。通过查看这些记录,你可以找到之前的提交状态,并进行版本回退。

以下是一个示例:

$ git reflog
65246b8 (HEAD -> master) HEAD@{0}: reset: going back to commit 65246b8
f69ad5f HEAD@{1}: commit: Add new feature to the project
b6e4737 HEAD@{2}: commit: Initial commit

在上面的示例中,你可以看到 HEAD@{0} 表示最近一次操作,即回退到的目标 commit。你可以根据需要选择特定的提交进行版本回退。

需要注意的是,git reflog 记录的是本地仓库的操作历史,而不是远程仓库的历史。如果你想查看远程仓库的历史记录,可以使用 git log 命令。

git版本回退为什么那么快?

Git 的版本回退速度⾮常快,因为 Git 在内部有个指向当前分⽀(此处是master)的HEAD 指针, refs/heads/master ⽂件⾥保存当前 master 分⽀最新 commit id 。当我们在回退版本的时候,Git 仅仅是给 refs/heads/master 中存储⼀个特定的version,可以简单理解成如下⽰意图:
在这里插入图片描述

👉🏻撤销修改

当我们写代码时,觉得当前写的代码太差劲,还不如上一版本时,我们怎么回到上一版本呢?
这里分三种情况。

对于⼯作区的代码,还没有 add

法一:先用git diff查看代码差别在哪,然后手动删除代码,但不推荐,如果我们写了很多代码了,再手动去删效率太慢。
法二
使用命令

git checkout --<filename>//回退到该文件上一次add的状态

已经 add ,但没有 commit

这里我们可以使用git reset -- mixed/hard.

  • git reset -- hard:可以一步完成,因为此时版本库中还没有我们刚刚add在暂存区中的代码,所以用hard版本回退,直接让工作区和暂存区的版本回退到版本库的当前版本(即没有该代码文件的时候),这样就实现了工作区的撤销代码效果
  • git reset -- mixed:这个要分两步完成,第一步git reset – mixed只是让暂存区回退到版本库的当前版本,但是此时我们仔细观察,现在情况变成了情况1——对于⼯作区的代码,还没有 add,所以此时我们再用git checkout --< filename>命令就可以撤销代码了

下面是指令实现:
在这里插入图片描述

已经 add ,并且也 commit 了

既然此时版本库的版本已经更新,那么只有回退到上一个版本才能解决问题。
所以这里我们就要用git reset --hard < filename>将版本库、暂存区、工作区的代码都回退到上一个版本的状态。
命令实现如下
在这里插入图片描述
注意:前提是commit之后没有push到远程仓库

👉🏻删除文件

在这里插入图片描述


如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

前端面试:01.图中输入什么?

~~~~~~~~~~~~~ 先自行想一想&#xff0c;答案在~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ 先自行想一想&#xff0c;答案在~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ 先自行想一想&#xff0c;答案在~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ 先自行想一想&#xff0c;答案在~~~~~~~~~~~~~~~~~ ~~~~~~~~…

基于SSM的视频点播系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

接口自动化之测试数据动态生成并替换

一、测试数据 1. 随机库random 查看内置random方法&#xff0c;该方法自行学习&#xff0c;不再介绍。 show 2. Faker库 pip install faker showHttps://github.com/joke2k/faker 3. 应用到项目中 3.1 思路 在用例数据中添加标志位&#xff0c;设计这个标志位为 {{特…

【STM32基础 CubeMX】ADC的基础使用

文章目录 前言一、ADC是什么二、使用CubeMX配置ADC三、代码分析3.1 cubemx生成代码分析3.2 ADC HAL库函数HAL_ADC_Start_IT开启adc中断函数获取ADC值 四、示例代码&#xff1a;获取光敏电阻的值总结 前言 在嵌入式系统开发中&#xff0c;STM32系列微控制器是广泛应用的一种硬件…

【分布式云储存】Springboot微服务接入MinIO实现文件服务

文章目录 前言技术回顾准备工作申请accessKey\secretKey创建数据存储桶公共资源直接访问测试 接入springboot实现文件服务依赖引入配置文件MinIO配置MinIO工具类 OkHttpSSLSocketClient兼容ssl静态资源预览解决方案资源上传预览测试测试结果 前言 上篇博客我们介绍了分布式云存…

UCOS的任务创建和删除

一、任务创建和删除的API函数 1、任务创建和删除本质就是调用uC/OS的函数 API函数 描述 OSTaskCreate() 创建任务 OSTaskDel() 删除任务 注意&#xff1a; 1&#xff0c;使用OSTaskCreate() 创建任务&#xff0c;任务的任务控制块以及任务栈空间所需的内存&#xff0c…

【云备份项目】:环境搭建(g++、json库、bundle库、httplib库)

文章目录 1. g 升级到 7.3 版本2. 安装 jsoncpp 库3. 下载 bundle 数据压缩库4. 下载 httplib 库从 Win 传输文件到 Linux解压缩 1. g 升级到 7.3 版本 &#x1f517;链接跳转 2. 安装 jsoncpp 库 &#x1f517;链接跳转 3. 下载 bundle 数据压缩库 安装 git 工具 sudo yum…

Linux性能优化--性能工具-系统CPU

2.0.概述 本章概述了系统级的Linux性能工具。这些工具是你追踪性能问题时的第一道防线。它们能展示整个系统的性能情况和哪些部分表现不好。 1.理解系统级性能的基本指标&#xff0c;包括CPU的使用情况。 2.明白哪些工具可以检索这些系统级性能指标。 2.1CPU性能统计信息 为…

北京开发APP需要多少钱

北京开发一个移动应用&#xff08;APP&#xff09;的费用因多种因素而异&#xff0c;包括项目的规模、复杂性、所需功能、设计要求、技术选择、开发团队的经验和地理位置等。一般来说&#xff0c;北京的APP开发费用通常较高&#xff0c;因为这是中国的主要技术和创新中心之一&a…

C++语言GDAL批量裁剪多波段栅格图像:基于像元个数裁剪

本文介绍基于C 语言的GDAL模块&#xff0c;按照给定的像元行数与列数&#xff0c;批量裁剪大量多波段栅格遥感影像文件&#xff0c;并将所得到的裁剪后新的多波段遥感影像文件保存在指定路径中的方法。 在之前的文章中&#xff0c;我们多次介绍了在不同平台&#xff0c;或基于不…

力扣 -- 322. 零钱兑换(完全背包问题)

参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:int coinChange(vector<int>& coins, int amount) {int n coins.size();const int INF 0x3f3f3f3f;//多开一行&#xff0c;多开一列vector<vector<int>> dp(n 1, vector<i…

ADB的概念、使用场景、工作原理

文章目录 一、adb概念&#xff1a;Android Debug Bridge&#xff0c;一个可以控制安卓设备的通用命令行工具二、adb的使用场景&#xff1a;操作手机设备、app 自动化测试1.传输文件2.兼容性测试&#xff08;手机墙&#xff09;3.云测平台4.测试框架底层封装&#xff1a;APP自动…

【生命周期】

生命周期 1 引出生命周期2 分析生命周期3 总结生命周期 1 引出生命周期 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta …

【Java 进阶篇】JDBC PreparedStatement 详解

在Java中&#xff0c;与关系型数据库进行交互是非常常见的任务之一。JDBC&#xff08;Java Database Connectivity&#xff09;是Java平台的一个标准API&#xff0c;用于连接和操作各种关系型数据库。其中&#xff0c;PreparedStatement 是 JDBC 中一个重要的接口&#xff0c;用…

跟着顶级科研报告IPCC学绘图:温度折线/柱图/条带/双y轴

复现IPCC气候变化过程图 引言 升温条带Warming stripes&#xff08;有时称为气候条带&#xff0c;目前尚无合适且统一的中文释义&#xff09;是数据可视化图形&#xff0c;使用一系列按时间顺序排列的彩色条纹来视觉化描绘长期温度趋势。 在IPCC报告中经常使用这一方案 IPCC是…

认识柔性数组

在C99中&#xff0c;结构中的最后一个元素允许是未知大小的数组&#xff0c;这就叫做柔性数组成员 限制条件是&#xff1a; 结构体中最后一个成员未知大小的数组 1.柔性数组的形式 那么我们怎样写一个柔性数组呢 typedef struct st_type {int i;int a[0];//柔性数组成员 }ty…

SpringBoot 可以同时处理多少请求

一、前言 首先&#xff0c;在Spring Boot应用中&#xff0c;我们可以使用 Tomcat、Jetty、Undertow 等嵌入式 Web 服务器作为应用程序的运行容器。这些服务器都支持并发请求处理的能力。另外&#xff0c;Spring Boot 还提供了一些配置参数&#xff0c;可以对 Web 服务器进行调…

互联网Java工程师面试题·MyBatis 篇·第二弹

目录 16、Xml 映射文件中&#xff0c;除了常见的 select|insert|updae|delete标签之外&#xff0c;还有哪些标签&#xff1f; 17、Mybatis 的 Xml 映射文件中&#xff0c;不同的 Xml 映射文件&#xff0c;id 是否可以重复&#xff1f; 18、为什么说 Mybatis 是半自动 ORM 映射…

Vue项目搭建图文详解教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 预备工作 请在本地创建文件夹用于存放Vue项目&#xff0c;例如&#xff1a;创建HelloWorld文件夹存放即将创建的Vue新项目。 创建Vue项目 首先&#xff0c;请在DOS中将目录…

踩坑 | vue动态绑定img标签src属性的一系列报错

文章目录 踩坑 | vue项目运行后使用require()图片也不显示问题描述vue中动态设置img的src不生效问题的原因require is not defined 解决办法1&#xff1a;src属性直接传入地址解决办法2 踩坑 | vue项目运行后使用require()图片也不显示 问题描述 在网上查阅之后&#xff0c;发…