当前位置: 首页 > news >正文

Git学习笔记之基础

本笔记是阅读《git pro》所写,仅供参考。
《git pro》网址https://git-scm.com/book/en/v2
git官网 https://git-scm.com/

一、git起步
1.1、检查配置信息
 git config --list

在这里插入图片描述

       查看所有的配置以及它们所在的文件

git config --list --show-origin

在这里插入图片描述

       可能有重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig与~/.gitconfig)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。
你可以通过输入 git config <key>:来检查 Git 的某一项配配置

1.2、提交用户名
git config --global user.name "John Doe"

       提交邮箱

git config --global user.email johndoe@example.com

       说明:
       如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事
情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运
行没有 --global 选项的命令来配置。

1.3、配置默认文本编辑器
git config --global core.editor emacs

       在 Windows 系统上,必须指定可执行文件的完整路径

git config --global core.editor "'C:/ProgramFiles/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
1.4、获取帮助,三种方式
git help <verb>
git <verb> --help 
man git-<verb>

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

二、git基础

       通常有两种获取 Git 项目仓库的方式:
       1、将尚未进行版本控制的本地目录转换为 Git 仓库;
       2、从其它服务器 克隆一个已存在的 Git 仓库。

2.1、git添加一个尚未进行版本控制的项目目录

       进入尚未进行版本控制的项目目录,执行 git init

git init

加粗样式
       该命令将会创建一个 .git 的子目录,这个子目录含有初始化的Git仓库中所有的必须文件,这些文件是Git的骨干。

2.2、git clone 克隆现有的仓库

       git clone 命令可以获取已有仓库的拷贝,Git 克隆的是该 Git 仓库服务
器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。 当你执行 git clone 命令的时候,默认配置
下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。事实上,如果你的服务器的磁盘坏掉了,你通常
可以使用任何一个克隆下来的用户端来重建服务器上的仓库 (虽然可能会丢失某些服务器端的钩子(hook)设
置,但是所有版本的数据仍在)
       克隆仓库的命令是

 git clone <url>

在这里插入图片描述
       克隆仓库并重命名

 git clone <url> <my_project_name>

在这里插入图片描述

2.3、记录每次更新到仓库

       刚才有了一个真实项目的Git仓库, 并从这个仓库中检出了所有文件的工作副本。当对文件进行修改时,想要记录时,应该将其提交到仓库。
       工作目录下的所有文件只有俩总状态:已跟踪和未跟踪。已跟踪的文件是指那些被纳入版本控制的文件,再上一次快照中有它们的记录,在工作一段时间后,它们的状态有可能是已修改、未修改或者已放入暂存区。简而言之,已跟踪就是Git已经知道的文件。
       工作目录中除已跟踪外的其它文件都属于未跟踪文件,他们既不存在于上次的快照记录中,也没有被放入暂存区。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态,因为Git刚刚检出他们,而你并未编辑过他们。
       编辑过某些文件之后,由于上次提交后对它们做了修改,Git将它们标记为已修改文件。在工作时,可以选择性的将这些修改过的文件放入暂存区,然后提交所有已暂存的修改,反复如此。
文件的状态变化周期

文件的状态变化周期
2.4、检查当前文件状态

可以用 git status 命令查看文件处于什么状态
查看目录下所有文件状态

git status

在这里插入图片描述

查看单个文件或者目录

git status <filename>

在这里插入图片描述
这说明有该文件在暂存区。

在这里插入图片描述

      这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。 此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪状态的新文件,否则 Git 会在这里列出来。 最后,该命令还显示了当前所在分支,并告诉你这个分支同远程服务器上对应的分支没有偏离。 现在,分支名是“master”,这是默认的分支名。
      使用 git status -s 命令或 git status --short 命令,你将得到一种格式更为紧凑的输出。

git status -s
git status --short

在这里插入图片描述

      在项目下创建一个新的 README 文件。 如果之前并不存在这个文件,使用 git status 命令,你将看到一个新的未跟踪文件:

echo 'My Project' > README
git status

在这里插入图片描述

       在状态报告中可以看到新建的 README 文件出现在 Untracked files(未跟踪的文件) 下面。 未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它“我需要跟踪该文件”。

2.5、跟踪新文件

      使用命令 git add 开始跟踪一个文件 。命令格式

git add <filename>

      git add 命令使用文件或目录的路径作为参数;如果参
数是目录的路径,该命令将递归地跟踪该目录下的所有文件。可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。 将这个命令理解为“精确地将内容添加到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。

跟踪文件README,并查看文件状态,文件状态显示已跟踪并处于暂存状态
在这里插入图片描述
只要在 要提交的变更(Changes to be committed )这行下面的,就说明是已暂存状态。 如果此时提交,那么该文件在你运
行 git add 时的版本将被留存在后续的历史记录中。

2.5、暂存已修改的文件

       修改已跟踪的文件,并提交文件。打开一个文件并修改,使用git status查看。在这里插入图片描述
使用 git add添加到暂存区,就可以commit。
在这里插入图片描述如果将文件放入暂存区又修改后,git status,该文件会同时出现在在暂存区和非暂存区。Git 只
会暂存了运行 git add 命令时的版本。如果commit,只会运行最后一次git add的版本而不是最后修改的版本。所以修改完文件以后,需要及时git add 把最新版本重新暂存起来。

在这里插入图片描述

2.6、忽略文件

       如果文件不想被Git管理又不想出现未跟踪文件列表。可以创建一个名 .gitignore 的文件。文件 .gitignore 的格式规范如下:
• 所有空行或者以 # 开头的行都会被 Git 忽略。
• 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
• 匹配模式可以以(/)开头防止递归。
• 匹配模式可以以(/)结尾指定目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。

示例如下:

touch .gitignore
vi .gitignore

.gitignore加入被忽略的文件,支持 #开头注释以及正则表达式。

#过滤编译文件  .out 
*.out
#过滤以 .o .a 结尾的文件
*.[oa

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

2.7、查看已暂存和未暂存的修改

       git diff 能通过文件补丁的格式更加具体地显示哪些行发生了改变。看出当前做的哪些更新尚未暂存? 有哪些更新已暂存并准备好下次提交?

git diff

在这里插入图片描述

       若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --staged 命令。 这条命令将比对已暂存文件与最后一次提交的文件差异:

git diff --staged

在这里插入图片描述

注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件,运行 git diff 后却什么也没有,就是这个原因。
       然后用 git diff --cached 查看已经暂存起来的变化

git diff --cached

在这里插入图片描述

2.8、提交更新

       如果暂存区已经准备就绪,那么就可以提交。建议提交前使用 git status查看文件状态然后再运行命令 git commit 提交文件。

git status
git commit

在这里插入图片描述
       这样会启动你选择的文本编辑器来输入提交说明(我的是VIM 模式)
在这里插入图片描述

git commit 参数
-m  将提交信息与命令放在同一行
git commit -m "增加文件"
-a  跳过使用暂存区域,不经过git add直接提交
git commit -a
2.9、 移除文件

       要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。

 git rm 文件名

在这里插入图片描述

       下一次提交时,该文件就不再纳入版本管理了。 如果要删除之前修改过或已经放到暂存区的文件,则必须使用强制删除选项 -f(译注:即 force 的首字母)。 这是一种安全特性,用于防止误删尚未添加到快照的数据,这样的数据不能被 Git 恢复。
       不要直接使用系统命令删除文件,这样会有一点问题。如果删除可以使用git restore 恢复文件。
在这里插入图片描述
在这里插入图片描述

2.10、移动文件

       Git 并不显式跟踪文件移动操作。 如果在 Git 中重命名了某个文件,仓库中存储的元数据并不会体现出这是一次改名操作。 不过 Git 非常聪明,它会推断出究竟发生了什么。
       在 Git 中对文件改名,可以这么做:

git mv file_from file_to

在这里插入图片描述

       运行 git mv 就相当于运行了下面三条命令

mv filterHalf.c filterHalf1.c
git rm filterHalf.c
git add filterHalf1.c
2.11、查看提交历史 git log

       在提交了若干更新,又或者克隆了某个项目之后,可以使用git log查看历史。

git log
-p--patch	它会显示每次提交所引入的差异(按 补丁 的格式输出),后面可以加数字,例如:-2,显示前俩条。
--stat 			显示每次提交的文件修改统计信息。
--shortstat		只显示 --stat 中最后的行数修改添加移除统计。
--name-only		仅在提交信息后显示已修改的文件清单。
--name-status	显示新增、修改、删除的文件清单。
--abbrev-commit	仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。
--relative-date	使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。
--graph			在日志旁以 ASCII 图形显示分支与合并历史。
--pretty		使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和format(用来定义自己的格式)。
--oneline		--pretty=oneline --abbrev-commit 合用的简写。

在这里插入图片描述

       不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面。 这个命令会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。
       git log 参数:
       -p 或 --patch ,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交:
在这里插入图片描述

       查看每次提交的简略统计信息,可以使用 --stat 选项:

在这里插入图片描述

       --pretty。 这个选项可以使用不同于默认格式的方式展示提交历史。 这个选项有一些内建的子选项供你使用。 比如 oneline 会将每个提交放在一行显示,在浏览大量的提交时非常有用。 另外还有 short,full 和 fuller 选项,它们展示信息的格式基本一致,但是详尽程度不一:

      

git log --pretty=oneline

在这里插入图片描述
       pretty的 format ,可以定制记录的显示格式。git log --pretty=format 常用的选项 列出了 format 接受的常用格式占位符的写法及其代表的意义。

选项说明
%H提交的完整哈希值
%h提交的简写哈希值
%T树的完整哈希值
%t树的简写哈希值
%P父提交的完整哈希值
%p父提交的简写哈希值
%an作者名字
%ae作者的电子邮件地址
%ad作者修订日期(可以用 --date=选项 来定制格式)
%cn提交者的名字
%ce提交者的电子邮件地址
%cd提交日期
%cr提交日期(距今多长时间)
%s提交说明
git log --pretty=format:"%h - %an, %ar : %s"

在这里插入图片描述

       当 oneline 或 format 与另一个 log 选项 --graph 结合使用时尤其有用。 这个选项添加了一些 ASCII 字符串来形象地展示你的分支、合并历史:

git log --pretty=format:"%h %s" --graph

在这里插入图片描述

       git log 限制输出长度

选项说明
-<n>仅显示最近的 n 条提交
–since, --after仅显示指定时间之后的提交。
–until, --before仅显示指定时间之前的提交。
–committer仅显示提交者匹配指定字符串的提交。
–grep仅显示提交说明中包含指定字符串的提交。
-S仅显示添加或删除内容匹配指定字符串的提交。
2.12、撤消操作

       有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交:

git commit --amend

在这里插入图片描述

       这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。

2.13、取消暂存的文件

       如果一次git add多个文件,其中某个文件想要取消暂存,可以使用

 git reset HEAD <file>
2.14、撤消对文件的修改

       修改完文件后或者在电脑删除文件后想要恢复(不是使用git rm),git status会提示怎么做。
在这里插入图片描述

       git restore -- <file> 是一个危险的命令。 你对那个文件在本地的任何修改都会消失——Git 会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。也可以使用git checkout -- <file>

2.15远程仓库的使用

       远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。

      
查看远程仓库
       查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。

git remote
-v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的URL。

在这里插入图片描述
在这里插入图片描述
添加远程仓库
       运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个方便
使用的简写:

git remote add <shortname> <url> 

现在你可以在命令行中使用字符串 shortname 来代替整个 URL。 例如,如果你想拉取 url(远程仓库) 的仓库中有但你没有的信息,可以运行 git fetch <shortname>

从远程仓库中抓取与拉取
       从远程仓库中获得数据命令

git fetch <remote>

       这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

       如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所
以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 必须注意 git fetch 命令只会将数据下载到你的本地仓库——它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

推送到远程仓库
      
分享项目时,必须将其推送到上游,命令:

git push <remote> <branch>

查看某个远程仓库
       如果想要查看某一个远程仓库的更多信息,可以使用命令:

git remote show <remote> 

它同样会列出远程仓库的 URL 与跟踪分支的信息。 这些信息非常有用,它告诉你正处于 master 分支,并且如果运行 git pull, 就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。 它也会列出拉取到的所有远程引用。

远程仓库的重命名与移除
       修改一个远程仓库的简写名:

 git remote rename oldname newname

       移除一个远程仓库——你已经从服务器上搬走了或不再想使用某一个特定的镜像了, 又或者某一个贡献者不再贡献了——可以使用命令

 git remote remove 仓库名git remote rm 仓库名

       一旦你使用这种方式删除了一个远程仓库,那么所有和这个远程仓库相关的远程跟踪分支以及配置信息也会一起被删除。

      

      

      

      

      

相关文章:

Git学习笔记之基础

本笔记是阅读《git pro》所写&#xff0c;仅供参考。 《git pro》网址https://git-scm.com/book/en/v2 git官网 https://git-scm.com/ 一、git起步 1.1、检查配置信息 git config --list查看所有的配置以及它们所在的文件 git config --list --show-origin可能有重复的变量名…...

STCubeIDE 编译bootloader

头文件重复引用解决办法。 参考&#xff1a;STM32CubeIDE IAP原理讲解&#xff0c;及UART双APP交替升级IAP实现-CSDN博客 移植到Air32时&#xff0c;RAM的大小(无论boot程序还是app 程序) 尽量不动&#xff0c;如果动了会影响最终的 APP 跳转 flash 大小可以随意修改&#xf…...

Python学习:函数

函数定义 在Python中&#xff0c;函数&#xff08;Function&#xff09;是一组用于完成特定任务或计算的语句块。定义函数可以让我们将一段代码重用多次&#xff0c;提高代码的可读性和可维护性。以下是定义函数的基本语法和结构&#xff1a; def function_name(parameters):&…...

docker run 使用 -p 命令一直显示端口被占用

解决办法 将 -p 换成 --net host 例如: docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /root/oneapi/data:/data justsong/one-api # 换成 docker run --name one-api -d --restart always --net...

Rust 实战练习 - 1. 输入,输出,环境变量,字符,字符串

目标&#xff1a; 获取程序命令行参数标准输入输出获取环境变量字符串&#xff0c;字符初步学习 cargo传递参数&#xff0c;需要加上-- use std::{env, ffi::OsString, io, io::Write};fn main() {println!("OS Env: {:?} > {:?}", env::current_dir().unwra…...

RuoYi-Vue-Plus(登录流程)

一、前端登录请求 登录按钮: src\views\login.vue 页面中登录片段,调用了handleLogin 方法,如下: @click.native.prevent="handleLogin" <el-button:loading="loading"size="medium"type="primary"style="width:100%;&qu…...

【数学】 【分数】 【字符串】972. 相等的有理数

本文涉及知识点 数学 分数 字符串 LeetCode972. 相等的有理数 给定两个字符串 s 和 t &#xff0c;每个字符串代表一个非负有理数&#xff0c;只有当它们表示相同的数字时才返回 true 。字符串中可以使用括号来表示有理数的重复部分。 有理数 最多可以用三个部分来表示&…...

【4】DongshanPI-Seven 应用开发_文件IO

目录 1.文件IO1.1 文件IO分类1.2 查看系统调用IO用法 2. open 函数3. write 函数4. read 函数5 dup函数 1.文件IO 1.1 文件IO分类 在Linux系统中&#xff0c;一切都是“文件”&#xff1a;普通文件、驱动程序、网络通信等。所有的操作都是通过文件IO来操作的。 在Linux操作文…...

SEO 的未来:GPT 和 AI 如何改变关键词研究

谷歌Gemini与百度文心一言&#xff1a;AI训练数据的较量 介绍 想象一下&#xff0c;有一个工具不仅可以理解错综复杂的关键字网络&#xff0c;还可以预测搜索引擎查询的变化趋势。 这就是生成式预训练 Transformer (GPT) 和其他人工智能技术发挥作用的地方&#xff0c;以我们从…...

面试八股文之JAVA基础

JAVA基础 DNS、CDN&#xff1f;如何实现对象克隆?父子类静态代码块, 非静态代码块, 构造方法执行顺序?String s new String("abc") 创建了几个对象, 分别放到哪里?OSI网络模型七层&#xff1f;应用层协议&#xff1f;http协议和https协议区别&#xff1f;传输层协…...

网络连接中——长连接和短连接详解

一、TCP功能 TCP在真正开始进行数据传输之前,Server 和 Client 之间必须建立一个连接。当数据传输完成后,双方不再需要这个连接时,就可以释放这个连接。 TCP连接的建立是通过三次握手,而连接的释放是通过四次挥手。所以说,每个TCP连接的建立和释放都是需要消耗资源和时间…...

PEReDi 完全隐私的央行数字货币方案

第一个对完全隐私保护建模的方案&#xff0c;基于账户模型&#xff0c;要求交易双方都在线。 角色分类 中央银行 B B B&#xff1a;负责发行数字货币和货币政策&#xff0c;但不控制用户账户的状态&#xff0c;没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相…...

yolov5+pyside6+登录+用户管理目标检测可视化源码

一、软件简介 这是基于yolov5目标检测实现的源码&#xff0c;提供了用户登录功能界面&#xff1b; 用户需要输入正确的用户名和密码才可以登录。如果是超级管理员&#xff0c;可以修改普通用户的信息&#xff0c;并且在检测界面的右上角显示【管理用户】按钮。 支持图片、视频、…...

电脑如何设置个性便签 电脑个性便签分享

每次坐在电脑前&#xff0c;我都仿佛置身于一片信息的海洋。工作、生活、学习&#xff0c;方方面面的事情都需要我用心去记录。在这样一个快节奏的时代&#xff0c;电脑无疑成了我最得力的助手。但记事的时候&#xff0c;我总希望有一个既方便又有个性的工具&#xff0c;能让我…...

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验 本实验部分配置延续上个Istio实验11 1. 重新配置secret 重新配置secret使其带有ca证书可以验证客户端证书是否合法 先删除原有secret,再配置新的secret # 删除原tls类型的secret kubectl -n istio-system d…...

SpringBoot 统一后端返回格式、处理全局异常

文章目录 引言I 统一标准格式1.1 定义返回标准格式1.2 定义状态码1.3 返回数据模型1.4 枚举定义1.5 Json序列化处理1.6 获取枚举字典II 处理全局异常2.1 全局异常处理器2.2 自定义异常2.3 请求数据模型III 预备知识:注解3.1 JsonInclude3.2 JsonIgnoreProperties...

C++学习基础版(一)

目录 一、C入门 1、C和C的区别 2、解读C程序 3、命名空间 4、输入输出 &#xff08;1&#xff09;cout输出流 &#xff08;2&#xff09;endl操纵符 &#xff08;3&#xff09;cin输入流 二、C表达式和控制语句 1、数据机构 特别&#xff1a;布尔类型bool 2、算数运…...

Rust 双向链表 LinkedList 和安全删除元素的方法

一、LinkedList 基本用法 在Rust中&#xff0c;LinkedList 是标准库中 std::collections 模块提供的一个双向链表实现。这个双向链表在每个节点中都保存了其前一个和后一个节点的引用&#xff0c;允许在链表的任一端进行有效的添加和移除操作。 以下是一个简单的示例&#xf…...

Android 开发中 Gradle 使用详解:构建、配置与优化技巧

文章目录 1. 基本概念2. 配置构建脚本2.1 项目级构建脚本2.2 模块级构建脚本 3. 自定义构建变体和应用 flavorDimensions4. 多模块项目4.1 创建模块4.2 配置模块依赖 5. 使用 Gradle 插件6. 使用 Gradle 命令 Gradle 是一种先进的构建工具&#xff0c;它被广泛应用于 Android 开…...

聚道云助力:易快报CDP无缝对接,登录同步一步到位!

一、客户介绍 某企业咨询有限公司是一家专注于为企业提供全方位、高质量咨询服务的领先机构。该公司致力于将先进的管理理念和实践经验与企业实际需求相结合&#xff0c;助力企业实现可持续发展。无论是战略规划、组织优化、人力资源管理&#xff0c;还是市场营销、财务管理等…...

Java解决幸运数字

Java解决幸运数字 01 题目 哈沙德数是指在某个固定的进位制当中&#xff0c;可以被各位数字之和整 除的正整数。 例如 126 是十进制下的一个哈沙德数&#xff0c;因为 (126)10 mod (1 2 6) 0; 126 也是8进制下的哈沙德 数&#xff0c;因为(126)10 (176)8&#xff0c;(126)10…...

将一个nextjs项目部署到vercel

注&#xff1a;下面均为AI创作&#xff08;本人已验证该流程可行&#xff09; 将一个 Next.js 项目部署到 Vercel 是一个相对直接的过程&#xff0c;因为 Vercel 是由同一个团队开发的&#xff0c;专门为 Next.js 优化。以下是部署一个 Next.js 项目到 Vercel 的基本步骤&…...

RocketMQ学习笔记:分布式事务

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、分布式事务的难题2、解决方式2.1、半事务消息和事务回查2.2、代码样例2.2.1、TransactionListener2.2.2、TransactionMQProducer2.2.3、MessageListenerConcurrently2.2.4、流程图 1、分布…...

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…...

红岩思维导图的制作软件,分享4款热门的!

红岩思维导图的制作软件&#xff0c;分享4款热门的&#xff01; 在当今信息爆炸的时代&#xff0c;思维导图作为一种有效的知识整理和思维拓展工具&#xff0c;受到了广大用户的青睐。红岩思维导图以其独特的风格和实用性&#xff0c;成为了许多人学习和工作中的得力助手。那么…...

es 集群开机自动启动

前面搭建了 es 集群&#xff0c;但是每次机器重启 都需要手动启动&#xff0c;很麻烦&#xff0c;所以这里介绍一下开机自动启动 首先使用 root 用户 es &#xff1a; 执行以下命令 vim /etc/init.d/elasticsearch 将以下内容 cv 进去 #!/bin/bash #chkconfig: 345 63 …...

使用JMeter从JSON响应的URL参数中提取特定值

在使用Apache JMeter进行API测试时&#xff0c;我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子&#xff0c;展示了如何从一个JSON响应中提取rowId的值&#xff0c;同时处理字符串终止符…...

汽车电子行业知识:自动驾驶系统结构和各模块功能

文章目录 2.自动驾驶系统结构和各模块功能2.1.自动驾驶系统结构2.2.车载传感器2.2.1.激光雷达2.2.2.毫米波雷达2.2.3.超声波雷达2.2.4.摄像头2.2.5.GNSS2.2.6. IMU2.2.7.多传感器融合 2.3.各功能模块2.3.1.高精度地图2.3.2.定位2.3.3.感知2.3.4.决策2.3.5.规划2.3.6.控制2.3.7.…...

Oracle参数文件详解

1、参数文件的作用 参数文件用于存放实例所需要的初始化参数&#xff0c;因为多数初始化参数都具有默认值&#xff0c;所以参数文件实际存放了非默认的初始化参数。 2、参数文件类型 1&#xff09;服务端参数文件&#xff0c;又称为 spfile 二进制的文件&#xff0c;命名规则…...

鸿蒙(HarmonyOS)Navigation如何实现多场景UI适配?

场景介绍 应用在不同屏幕大小的设备上运行时&#xff0c;往往有不同的UI适配&#xff0c;以聊天应用举例&#xff1a; 在窄屏设备上&#xff0c;联系人和聊天区在多窗口中体现。在宽屏设备上&#xff0c;联系人和聊天区在同一窗口体现。 要做好适配&#xff0c;往往需要开发…...