git命令基本操作

一、git介绍

Git 是一个开源的分布式版本控制系统,旨在提供一个快速、灵活且分布式的版本控制系统,能够处理从小型个人项目到大型复杂企业项目的各种规模的开发工作。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, SVN 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。程序员在自己的电脑上编写代码,并通过 git 管理。

二、基本操作

2.1、基础操作

1、配置我们的全局

配置用户名和邮箱:这些信息将用于标识每次提交

git config --global user.name "Your Name"

git config --global user.email "your_email@example.com"

  • Your Name 应该是一个有效的名字,通常是你希望在你的 Git 提交中显示的名字。
  • your_email@example.com 应该是一个有效的电子邮件地址,这个地址通常用于在 Git 提交中标识你的身份,并且也是一些 Git 服务(如 GitHub、GitLab 等)用来联系你的主要方式。
  • 重复使用这两命令可以覆盖,相当于修改操作

设置Git默认使用的文本编辑器, 一般可能会是 vi 或者 vim

git config --global core.editor vim

查看

git config --list

如果使用 --global 选项,那么配置的用户信息会保存在当前用户家目录下的 .gitconfig 文件里, 以后所有的项目都会默认使用此用户信息。

cat ~/.gitconfig

2、

①、如果你需要创建一个项目(当项目不存在的话)

可以在本地创建一个空文件夹作为仓库目录,并且初始化

mkdir /root/myweb
cd !$

!$代表上一个使用的参数

git init

初始化一个新的 Git 仓库,这将创建一个名为.git的隐藏文件夹,用于管理仓库的版本和历史记录,代表成立了本地的仓库。

②、如果不需要你创建一个项目(当项目存在的话)

git clone git@xxxx.git

查看

ls -A隐藏目录 有git

3、你需要了解工作流程

工作区(Working Directory)

工作区是用户与代码直接交互的地方,也就是你本地计算机上的项目文件夹。这是你实际编辑文件、编写代码的地方。

暂存区(Stage/Index)

是一个临时的存储区域,用于保存将要提交的更改。可以理解为一个缓冲区,你可以选择性地将工作区中的某些或全部更改放入暂存区,随后再提交到版本库。暂存区记录的是工作区中已被标记为准备提交的更改。

远程仓库(Remote Directory)

远程仓库是托管代码的服务器,可以简单地认为是你项目组中的一台电脑用于远程数据交换。远程仓库允许团队成员共享和协作编辑代码,是团队协作不可或缺的一部分。

4、上传到缓存区

创建一个文件

touch 文件

git add 文件

git add .

git add *

命令描述
git add <file>将指定的文件 <file> 添加到暂存区。这允许您精确地选择哪些文件应该被包含在下一次提交中。
git add .添加当前目录(包括所有子目录)下所有更改的文件到暂存区。这是一个常用的命令,用于快速添加当前工作目录中的所有改动。
git add *只会添加当前目录下的文件和目录(不会递归地添加到子目录)

查看暂缓区的文件

git ls-files

5、提交更改

git commit -m "commit message"

提交暂存区内容到本地仓库,附加提交信息。

git commit -a -m "commit message"
自动将已跟踪的文件(修改和删除)加入暂存区并提交,也就是使用 -a 选项可以省去手动运行 git add 命令将更改添加到暂存区的步骤

6、在本地我们能看到三种状态

工作区

  • 未跟踪(Untracked):文件未被Git管理,需通过git add添加到暂存区。
  • 已修改(Modified):文件已被修改,但更改尚未保存到暂存区。

暂存区

  • 已暂存(Staged):文件或更改已被添加到暂存区,准备提交。

7、查看 git 状态

查看当前仓库状态,显示修改的文件和未跟踪的文件

git status

 用于快速查看工作目录和暂存区的状态

git status -s 

  • A:表示文件已被添加到暂存区(Added),准备提交。对于新文件,这是它们首次出现在 Git 跟踪中的状态。
  • M:表示文件在工作目录中被修改(Modified),但尚未添加到暂存区。
  • D:表示文件在工作目录中被删除(Deleted),但尚未从暂存区中删除。如果文件已从工作目录和暂存区中删除,则不会显示在此输出中。
  • R:表示文件被重命名(Renamed)。
  • C:表示文件被复制(Copied),这通常与重命名相关,但 Git 能够检测到文件内容的复制。
  • ??:表示文件是未跟踪的(Untracked),即文件存在于工作目录中,但尚未被 Git 跟踪。
  • U:表示文件在工作目录和暂存区之间存在冲突(Unmerged),这通常发生在合并或变基操作后,文件的内容无法自动合并。
  • M(在暂存区后):如果文件已经添加到暂存区,并且之后在工作目录中被进一步修改,则会在暂存区状态旁边再次显示 M,表示有额外的修改未暂存

显示工作目录和暂存区之间的不同

git diff

8、查看历史

查看提交历史

git log

会看到commit的内容 

简洁模式查看提交历史(每行一个提交)

git log --oneline

图形化显示提交历史

git log --graph

9、撤销更改

不想上传某个文件,从暂存区移除指定文件,但保留工作目录中的更改。 

但是commit加过信息的不行

git reset <file>

这个命令只影响工作目录中的文件,不会影响暂存区(stage area)或仓库中的历史记录

 丢弃指定文件的工作目录更改,恢复为上一次提交状态

git checkout -- <file>  

 在git add后,也就放在缓存后,比如删除,或者修改工作目录后,使用会恢复

反转某次提交,生成一个新的反向提交 

git revert <commit>

使用 git revert 的好处是,它提供了一种安全的方式来撤销更改,而不会破坏项目的历史记录 

<commit> 应该被替换为你想撤销的提交的哈希值(通常是提交的前几个字符,足以唯一标识该提交)。这个命令会生成一个新的提交,其内容是将指定提交所做的更改反向应用。

  • git revert 是安全的撤销操作方式,因为它保留了项目的完整历史。如果你不确定是否应该使用 git revert 还是 git reset,通常 git revert 是更保守、更安全的选择。

删除了hash的操作,包括工作目录和暂缓区以及版本库,但是有历史记录

2.2、分支操作

1、查看

查看本地分支

git branch

这个命令用于列出所有本地分支。

查看远程分支

git branch -r

-a是远程和本地所有的

2、创建并且切换

git checkout -b <branch_name>

这是一个非常方便的命令,它结合了git branchgit checkout的功能。这个命令首先会创建一个新的分支,然后立即切换到这个新分支上。<branch_name>同样是你想要创建的(并切换到的)分支的名称。

①、创建

git branch <branch_name>

②、切换

git checkout <branch_name>


3、删除

删除一个本地分支

git branch -d <branch_name>

git branch -D <branch_name>命令来强制删除分支,不推荐


4、​​​​​​​重命名分支

git branch -m <new_branch_name>

5、合并分支

git merge <branch_name>

要合并一个分支到当前分支,你可以使用命令。Git会尝试将指定分支的更改合并到当前分支中。如果存在冲突,你需要手动解决这些冲突,然后提交合并结果。

2.3、远程操作

1、查看远程仓库的 URL 

git remote -v

(fetch) 和 (push):这些括号内的文字说明了该远程仓库的 URL 是用于获取(fetch,即拉取更新)还是推送(push,即上传更改)操作。

2、添加远程仓库

git remote add <name> <url>

  • <name>:这是你为远程仓库指定的名称。这个名字是你在本地用来引用远程仓库的简短标识符。通常,默认的远程仓库名称是 origin,但你可以根据需要命名为其他任何名字。

3、拉取和推送

推送本地分支到远程仓库。

git push <remote> <branch>

  • <remote>:这个参数指定了你要推送更改到的远程仓库的名称。通常,Git 在克隆一个仓库时会默认创建一个名为 origin 的远程仓库引用,指向你克隆的原始仓库。因此,最常见的 <remote> 值是 origin。但是,如果你添加了其他远程仓库,你也可以使用它们的名称。

  • <branch>:这个参数指定了你想要推送的分支的名称。Git 会将这个分支上的更改推送到远程仓库中对应的分支上。例如,如果你正在 main 分支上工作,并且想要将这些更改推送到远程仓库的 main 分支上,你就应该使用 main 作为 <branch> 参数。

注意

当你使用 -u 或 --set-upstream 选项时,Git 会将本地分支与远程分支之间建立一种“上游”(upstream)关系。这意味着:

  • 将来你在这个本地分支上工作时,可以使用 git pull 命令而不需要指定远程分支的名称,因为 Git 已经知道应该从哪里拉取更改。
  • 同样地,当你使用 git push 命令时,也不需要指定远程分支的名称,Git 会自动知道应该将更改推送到哪个远程分支。

这种上游关系使得与远程分支的交互变得更加简单和直观。

①、git push --all
推送所有分支到远程仓库。

②、git push --tags
推送所有标签到远程仓库。

A、从远程仓库获取更新,但不合并

git fetch <remote>

B、拉取远程分支并合并到当前分支

git pull <remote> <branch>

git pull 命令则是一个更高级别的命令,它实际上是 git fetch 和 git merge 的组合 

-u之后不需要写remote远程仓库和branch远程分支 

  • git fetch 只负责下载远程仓库的更改,不会尝试合并它们。
  • git pull 既下载远程仓库的更改,又尝试将它们合并到你当前检出的分支中。

4、克隆仓库

git clone <url>

 克隆远程仓库到本地

2.4、标签操作

1、创建标签

git tag <tag_name>

创建一个带注释的标签。

git tag -a <tag_name> -m "message"

2、查看标签 ,列出所有标签

git tag

显示指定标签的详细信息。

git show <tag_name>

3、推送标签

推送指定标签到远程仓库。

git push <remote> <tag_name> 

推送所有标签到远程仓库

git push --tags

4、删除标签

删除本地标签 

git tag -d <tag_name>

  删除远程标签

git push <remote> :refs/tags/<tag_name>

三、总图

四、其他常用命令

4.1、清理

删除未跟踪的文件

git clean -f

删除未跟踪的文件和目录

git clean -fd

4.2、查看仓库信息

查看远程仓库的详细信息

git remote show <remote>

查看远程分支

git branch -r

4.3、设置忽略文件

创建 `.gitignore` 文件并根据需要忽略的文件规则。

# 忽略 node_modules 目录(Node.js 项目)
node_modules/# 忽略 package-lock.json 或 yarn.lock 文件(Node.js 项目)
package-lock.json
yarn.lock# 忽略编译生成的文件和目录
dist/
build/
out/# 忽略环境配置文件(例如 .env 文件)
.env
.env.*# 忽略操作系统生成的文件
.DS_Store
Thumbs.db# 忽略日志文件
*.log# 忽略测试报告文件
*.xml
*.out
*.report# 忽略开发工具生成的文件和目录
.idea/
*.iml
.vscode/
*.suo
*.sln
*.csproj
*.userprefs# 忽略临时文件
*.tmp
*.swp
*.bak
*.old# 忽略依赖管理工具的文件(例如 Composer、Bundler 等)
composer.lock
Gemfile.lock
vendor/# 忽略数据库文件
*.sqlite3
*.db# 忽略二进制文件(例如图片、视频等,可以根据需要调整)
*.png
*.jpg
*.jpeg
*.gif
*.mp4
*.mov
*.avi# 忽略操作系统特定的隐藏文件
.*# 忽略特定的 IDE 或编辑器配置文件
.project
.classpath
*.sublime-project
*.sublime-workspace# 忽略 Docker 生成的文件
.dockerignore
Dockerfile*
docker-compose*# 忽略其他可能不希望提交的文件或目录
*.secret
*.key
*.cert

4.4、压缩与优化

清理并优化仓库

git gc

4.5、查看文件版本

查看指定提交中某个文件的内容。

git show <commit>:<file>


 

五、高级操作

5.1、Stash 操作

将当前未提交的更改保存到临时栈

git stash

查看所有存储的更改。

git stash list

恢复最近一次保存的更改

git stash apply

删除最近一次保存的更改。

git stash drop

5.2、子模块

添加子模块

git submodule add <url> <path>  

初始化并更新子模块

git submodule update --init

5.3、打包仓库

创建一个包含主分支的包

git bundle create <file> HEAD master

验证包的内容

git bundle verify <file>

从包中克隆仓库

git clone <file> --bare

5.3、交互式 Rebase

启动交互式 Rebase,可以重新排列、合并或删除提交

git rebase -i <commit>

六、基本操作深入解析

以下是对上述 Git 操作的整理


Git 基础操作

初始化仓库 

在本地创建一个全新的项目,并需要版本控制。
注意:会生成 `.git` 文件夹,这是 Git 仓库的核心                          
​​​​​​​​​​​​​​

git init

在当前目录创建一个新的 Git 仓库,生成 .git 文件夹。

查看状态

git status

显示当前工作目录和暂存区的状态,包括哪些文件被修改、未跟踪或已暂存。

深入解析
- 检测哪些文件被修改、未跟踪或已暂存。
- 通常用于在 `git add` 和 `git commit` 之前检查当前状态。

**典型输出**:
```plaintext
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)

        modified:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        newfile.txt
```

- **Untracked files**:未被 Git 追踪的文件。未标记的文件
- **Changes not staged for commit**:已被 Git 追踪,但修改未暂存的文件。

  1. 添加文件到暂存区
    git add <file>
    git add .
    将指定文件或当前目录下的所有更改添加到暂存区。                                                              注意:
    - 只会将更改放入暂存区,不会直接提交。
    - 忽略文件需要在 `.gitignore` 文件中配置。
  2. 提交更改
     
    git commit -m "message"
    将暂存区的更改提交到本地仓库,并附上提交信息。
    - 每次提交会生成一个独一无二的 SHA-1 哈希值,便于追踪。
    - `-m "message"`:直接添加提交信息。
    - 不添加 `-m` 时,会打开默认编辑器(如 `vim`)编辑提交信息。

分支操作

创建与切换分支

git branch <branch_name>
git checkout <branch_name>
git checkout -b <branch_name>

创建新分支(不切换)、切换到指定分支、创建并切换到新分支。

深入解析
**分支管理最佳实践**:
- 使用描述性分支名称,如 `feature/add-login` 或 `bugfix/fix-typo`。
- 避免直接在 `master` 或 `main` 分支上开发。

  1. 合并分支
    git merge <branch_name>
    将指定分支的更改合并到当前分支,可能需要解决冲突。

    深入解析:
    - 合并过程可能产生冲突,需要手动解决。

    **冲突解决流程**:
    1. 打开冲突文件(通常标记为 `<<<<` 和 `>>>>`)。
    2. 手动选择需要保留的更改。
    3. 使用以下命令标记冲突已解决:
       ```bash
       git add <file>
       ```
    4. 完成合并:
       ```bash
       git commit
       ```

  2. 删除分支
    git branch -d <branch_name>
    git branch -D <branch_name>
    安全删除已合并的分支或强制删除未合并的分支。

- `-d`:安全删除,检查是否已合并。

- `-D`:强制删除,忽略检查。​​​​​​​


远程操作

管理远程仓库

git remote add origin <url>
git remote -v
git remote remove origin

添加、查看和删除远程仓库。

深入解析
- 远程仓库可以有多个别名(如 `origin`、`backup`)。
- 使用 `git remote -v` 检查关联的远程仓库。

  1. 拉取和推送代码
    git pull <remote> <branch>
    git push <remote> <branch>
    git push -u origin <branch>
    从远程仓库拉取更新、将本地更改推送到远程仓库、将当前分支与远程分支关联。              深入解析
    - 如果分支未与远程分支关联,需指定分支:
      ```bash
      git push -u origin <branch>
      ```
    - `-u`:将当前分支与远程分支关联,后续可直接使用 `git push`。
  2. 克隆仓库
    git clone <url>
    git clone --depth=1 <url>
    从远程仓库克隆项目到本地,可选只下载最新一次提交。
    深入解析
    - 克隆时会自动设置 `origin` 为默认远程仓库。
    - 使用 `--depth=1` 克隆时,只下载最新一次提交。

高级功能

  1. 标签管理
    git tag <tag_name>
    git tag -a <tag_name> -m "message"
    git push origin <tag_name>
    git push --tags
    git tag -d <tag_name>
    git push origin :refs/tags/<tag_name>
    创建、推送、删除标签。
  2. 暂存更改
    git stash
    git stash list
    git stash apply
    git stash drop
    ​​​​​​​保存、查看、应用和删除暂存的更改。深入解析
    - **`git stash`**:保存当前更改到栈中。
    - **`git stash apply`**:应用最近一次存储的更改。
    - **`git stash drop`**:删除最近一次存储。
  3. 交互式 Rebase
    git rebase -i <commit>
    清理提交历史,合并或重新排列提交。**深入解析**:
    - 使用 `pick` 保留提交。
    - 使用 `squash` 合并提交。
    - Rebase 会重新生成提交历史,适合代码整理。
  4. 查看远程状态
    git remote show origin
    检查远程仓库的分支和提交情况。
  5. 清理未跟踪文件
    git clean -f
    git clean -fd
    删除未被 Git 跟踪的文件和目录。

提高效率的技巧

  1. 配置别名
    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.cm commit
    git config --global alias.st status
    ​​​​​​​为常用命令设置简短别名。
  2. 忽略文件    创建 .gitignore 文件,添加规则以忽略不需要跟踪的文件和目录。
  3. 查看文件变更历史
    git log -- <file>
    查看指定文件的修改记录。

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

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

相关文章

快速了解 Aurora DSQL

上周在 AWS re:Invent大会&#xff08;类似于阿里云的云栖大会&#xff09;上推出了新的产品 Aurora DSQL[1] &#xff0c;在数据库层面提供了多区域、多点一致性写入的能力&#xff0c;兼容 PostgreSQL。并声称&#xff0c;在多语句跨区域的场景下&#xff0c;延迟只有Google …

大数据之国产数据库_OceanBase数据库002_在centos7.9上_安装部署OceanBase001_踩坑指南_亲测可用

部署前最好看一下,部署前的要求, 主要是系统 以及系统内核版本,还有比如清理一下缓存等,按照做一做. 这些都是前置条件. 清一下缓存. 也就是说官网给的前置的条件,都要根据说明去执行一遍,如果不执行可能后面安装会报错. 然后用户最好也去创建一个用户. 注意前置

Kafka Stream实战教程

Kafka Stream实战教程 1. Kafka Streams 基础入门 1.1 什么是 Kafka Streams Kafka Streams 是 Kafka 生态中用于 处理实时流数据 的一款轻量级流处理库。它利用 Kafka 作为数据来源和数据输出&#xff0c;可以让开发者轻松地对实时数据进行处理&#xff0c;比如计数、聚合、…

Leecode刷题C语言之判断国际象棋棋盘中一个格子的颜色

执行结果:通过 执行用时和内存消耗如下&#xff1a; 代码如下 &#xff1a; bool squareIsWhite(char* s) {return s[0] % 2 ! s[1] % 2; } 解题思路&#xff1a; 这段代码的目的是判断一个给定的字符串 s 所表示的棋盘上的格子是否为白色。这里假设字符串 s 的前两个字符…

Oracle之表空间迁移

问题背景&#xff1a;一个数据表随着时间的累积&#xff0c;导致所在表空间占用很高&#xff0c;里面历史数据可以清除&#xff0c;保留近2个月数据即可 首先通过delete删除了2个月以前的数据。 按网上的教程进行空间压缩&#xff0c;以下sql在表所在用户执行: -- 允许表重新…

Redis中pipeline(管道)详解

redis管道pipeline 举个例子&#xff1a; 小卖铺免费让你拿50瓶饮料&#xff0c;你是一次拿一瓶拿回家&#xff0c;还是打包一次或者多次拿回家&#xff1f; 概念 Redis管道(pipelining)是一种在客户端向服务端发送多个请求而不等待响应的技术。它可以显著提高Redis应用程序…

Mybatis 关联查询

在 MyBatis 中&#xff0c;关联查询&#xff08;也称为复杂映射&#xff09;是指将多个表的数据通过 SQL 查询和结果映射的方式&#xff0c;组合成一个或多个 Java 对象。这种查询方式用于处理实体之间的关系&#xff0c;如一对一、一对多和多对多关系。通过关联查询&#xff0…

【数据分享】1901-2023年我国省市县三级逐年最低气温数据(Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最低气温栅格数据和Excel和Shp格式的省市县三级逐月最低气温数据&#xff0c;原始的逐月最低气温栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据&#xff01;基于逐月栅格数据我们采用求年平均值的方法得到逐年最…

appium学习之二:adb命令

1、查看设备 adb devices 2、连接 adb connect IP:端口 3、安装 adb install xxx.apk 4、卸载 adb uninstall 【包名】 5、把对应目录下的1.txt文件传到手机sdcard下 adb push 1.txt /sdcard 6、进入对应的设备里 adb shell 7、切入sdcard目录 cd /sdcard 8、ls 查…

HTML5教程-表格宽度设置,最大宽度,自动宽度

HTML表格宽度 参考&#xff1a;html table width HTML表格是网页设计中常用的元素之一&#xff0c;可以用来展示数据、创建布局等。表格的宽度是一个重要的参数&#xff0c;可以通过不同的方式来设置表格的宽度&#xff0c;本文将详细介绍HTML表格宽度的不同设置方式和示例代…

Debian11(pve) 使用.deb包 安装内核头文件

文章目录 前言一、下载.deb包二、dpkg2.1 dpkg2.1 dpkg-deb2.3 dpkg-query 前言 $ cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 11 (bullseye)" NAME"Debian GNU/Linux" VERSION_ID"11" VERSION"11 (bullseye)" VERSION_CODEN…

喜报!极限科技(INFINI Labs)通过国家高新技术企业认定

2024 年 10 月 29 日&#xff0c;国家高新技术企业认定管理工作网公示了北京市认定机构 2024 年认定报备的第一批高新技术企业备案名单&#xff0c;极限数据&#xff08;北京&#xff09;科技有限公司 顺利通过本次高新技术企业评审&#xff0c;并获得 国家级“高新技术企业”认…

https ssl免费证书申请,自动续期,acme、certd

本文为个人笔记&#xff0c;方便自己需要时查阅&#xff0c;同时提供出来给大家作为免费ssl证书自动续签需求的一种参考 大部分免费证书的有效期仅有3个月&#xff0c;所以证书管理会涉及到自动续期管理的问题 一、acme证书 大佬们常用的证书证书申请管理方式&#xff0c;提…

在Goland中对goroutine协程断点调试

在Goland中对goroutine协程断点调试 环境: Goland 参考了 chatgpt 的回复 进行断点调试的代码 package mainimport ("fmt""sync""time" )// worker 模拟处理任务 func worker(id int, wg *sync.WaitGroup) {defer wg.Done() // 确保任务完成后…

AI驱动的低代码平台:解密背后的算法与架构创新

引言 在如今的数字化浪潮中&#xff0c;企业对软件的需求正以前所未有的速度增长。传统的开发方式由于开发周期长、成本高&#xff0c;已逐渐无法满足市场的快速变化。而低代码平台的出现&#xff0c;使得开发者和业务人员能够以极简的方式快速构建应用。然而&#xff0c;随着企…

flyway执行sql遇到变量执行报错解决

前两天在公司使用flyway工具执行sql时&#xff0c;开发写的sql里面有变量&#xff0c;于是这个flyway工具不识别这个变量直接报错&#xff0c;不接着往下执行了。报错信息如下&#xff1a; flyway工具执行sql报错 information: No value provided for placeholder: ${ep1} 于是…

Altium Designer学习笔记 33 拼版操作

基于Altium Designer 23学习版&#xff0c;四层板智能小车PCB 更多AD学习笔记&#xff1a;Altium Designer学习笔记 1-5 工程创建_元件库创建Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建Al…

磁集成技术在新能源汽车领域的应用与挑战

【哔哥哔特导读】从几年前30/60kW到现在300/500的充电桩&#xff0c;在外观上却没多大的区别&#xff0c;这其中磁性元件体积的减小功不可没。磁集成技术的应用&#xff0c;又将为小型化带来哪些惊喜&#xff1f;在落地过程中最大的挑战是什么&#xff1f; 编者按 10月14日&a…

计算机网络研究实训室建设方案

一、概述 本方案旨在规划并实施一个先进的计算机网络研究实训室&#xff0c;旨在为学生提供一个深入学习、实践和研究网络技术的平台。实训室将集教学、实验、研究于一体&#xff0c;覆盖网络基础、网络架构、网络安全、网络管理等多个领域&#xff0c;以培养具备扎实理论基础…

攻防世界 ctf刷题 新手区1-10

unserialize3 因为我上个笔记写了 php返序列化 所以先趁热打铁 看这个题目名字 我们就知道是 反序列化呀 因为flag有值所以 我们先输个 111 看看有没有线索 没线索但是这边 有个发现就是他是使用get方式传参的 可能他会把我们的输入 进行传入后台有可能进行反…