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

精通Git(第2版)读书笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 第 1章 入门 1
    • 1.1 关于版本控制 1
      • 1.1.1 本地版本控制系统 1
  • 第 2章 Git基础 13
    • 2.1 获取Git仓库 13
      • 2.1.1 在现有中初始化Git仓库 13
      • 2.1.2 克隆现有仓库 14
    • 2.2 在Git仓库中记录变更 14
      • 2.2.1 查看当前文件状态 15
      • 2.2.2 跟踪新文件 16
      • 2.2.3 暂存已修改的文件 16
      • 2.2.4 显示更简洁的状态信息 18
      • 2.2.5 忽略文件 18
      • 2.2.6 查看已暂存和未暂存的变更 19
      • 2.2.7 提交变更 21
      • 2.2.8 跳过暂存区 22
      • 2.2.9 移除文件 23
      • 2.2.10 移动文件 24
    • 2.3 查看提交历史 25
    • 2.4 撤销操作 30
      • 2.4.1 撤销已暂存的文件 30
      • 2.4.2 撤销对文件的修改 31
    • 2.5 远程仓库的使用 32
      • 2.5.1 显示远程仓库 32
      • 2.5.2 添加远程仓库 33
      • 2.5.3 从远程仓库获取和拉取数据 34
      • 2.5.4 将数据推送到远程仓库 34
      • 2.5.5 检查远程仓库 35
      • 2.5.6 删除和重命名远程仓库 36
    • 2.6 标记 36
      • 2.6.1 列举标签 36
      • 2.6.2 创建标签 37
      • 2.6.3 注释标签 37
      • 2.6.4 轻量标签 38
      • 2.6.5 补加标签 38
      • 2.6.6 共享标签 39
      • 2.6.7 检出标签 39
    • 2.7 Git别名 40
    • 2.8 小结 41
  • 第3章 Git分支机制 42
    • 3.1 分支机制简述 42
      • 3.1.1 创建新分支 44
      • 3.1.2 切换分支 45
    • 3.2 基本的分支与合并操作 48
      • 3.2.1 基本的分支操作 48
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

第 1章 入门 1

1.1 关于版本控制 1

1.1.1 本地版本控制系统 1

1.1.2 集中式版本控制系统 2
1.1.3 分布式版本控制系统 3
1.2 Git简史 4
1.3 Git基础 4
1.3.1 快照,而非差异 4
1.3.2 几乎所有操作都在本地执行 5
1.3.3 Git的完整性 6
1.3.4 Git通常只增加数据 6
1.3.5 三种状态 7
1.4 命令行 8
1.5 安装Git 8
1.5.1 Linux上的安装方法 8
1.5.2 Mac上的安装方法 8
1.5.3 Windows上的安装方法 9
1.5.4 从源码安装 9
1.6 Git的首 次配置 10
1.6.1 用户身份 11
1.6.2 个人编辑器 11
1.6.3 检查个人设置 12
1.7 获取帮助 12
1.8 小结 12

第 2章 Git基础 13

主要内容:

  • 初始化
  • 开始或停止追踪文件、暂存或者提交更改
  • 忽略某些文件和文件模式
  • 撤销错误操作
  • 浏览项目版本历史、查看版本差异

2.1 获取Git仓库 13

2.1.1 在现有中初始化Git仓库 13

git init

2.1.2 克隆现有仓库 14

git clone xxx

创建abc目录,把xxx项目克隆到abc目录

git clone xxx abc

2.2 在Git仓库中记录变更 14

2.2.1 查看当前文件状态 15

git status

2.2.2 跟踪新文件 16

追踪一个新文件–xx

git add xx

2.2.3 暂存已修改的文件 16

暂存已修改的文件–xx

git add xx

面试问题:add的作用?add和commit的区别?
答:add是一个多功能,可以追踪新文件,也可以暂存已修改的文件。可以把git add看做“添加内容到下次提交”。

2.2.4 显示更简洁的状态信息 18

git status -s
git status --short

2.2.5 忽略文件 18

编写**.gitignore**

2.2.6 查看已暂存和未暂存的变更 19

查看当前修改和暂存区的差异

git diff

查看暂存区和上次提交的差异

git diff --staged

使用图形diff工具,书里没展开,需要自己研究,idea已经够用了

git difftool --tool-help

2.2.7 提交变更 21

git commit -m "feature/提交信息"

继续回答之前的问题(add和commit的区别?)。
提交记录(commit)记录的是暂存区中的快照。

2.2.8 跳过暂存区 22

自动把已追踪的文件添加到暂存区,然后再提交。

git commit -a -m "feature/跳过暂存区"

继续回答之前的问题(add和commit的区别?)。
commit可以跳过add。

问题:这一步是只保留修改还是把新文件也加入?
答:只有已有文件会被commit,新文件不可以,需要手动提交。

2.2.9 移除文件 23

注意:如果你真实删除了一个文件其实可以执行git add,但是如果你没有删除他,只是想从暂存区移除,那么你需要使用git rm 命令。

把文件移除状态记录到暂存区

git rm xx

把不想删除的文件从暂存区移除

git rm --cached xx

这里最有用的一个场景是忘记把.idea目录添加到.gitignore。

首先,您需要将.idea文件夹从Git版本控制中移除。为此,可以使用以下命令:

git rm -r --cached .idea

这将会从Git的暂存区(index)中删除.idea文件夹,但不会删除实际的文件。

接下来,您需要提交这个变更到本地仓库:

git commit -m "Remove .idea folder from version control"

现在,您可以将这个变更推送到远程仓库。使用以下命令:

git push origin <branch-name>

请将替换为您要推送到的分支名称,通常是主分支(例如,main或master)。

2.2.10 移动文件 24

git mv file_from file_to

相当于执行了三条命令

mv file_from file_to
git rm file_from
git add file_to

但是我目前感觉直接重命名,然后git add也是可以的,可能是版本问题吧。

2.3 查看提交历史 25

最强大的命令

git log

可以查看所有提交,包括hash、作者信息

git log -p -2

-p显示每次提交引入的差异
-2表示只输出最近两次提交

git log --stat

查看概要,包括改动文件列表、改动文件数量、每个文件有多少增删,以及总计。

git log --pretty=oneline

每次提交信息在一行显示

git log --pretty=format:"%h - %an, %ar : %s"

哈希 - 作者, 时间 : 提交主题

git log --since=2.weeks

2.4 撤销操作 30

git commit -m "info"
git add forgotten_file
git commit --amend

当遗漏了某个文件,已经提交了,可以使用–amend把遗漏的合并进之前的提交,最终只会保留一次提交。

2.4.1 撤销已暂存的文件 30

git add a
git add b
git reset HEAD a

把a、b两个文件已经放入暂存区了,又希望把a恢复到已修改但未暂存的状态。

2.4.2 撤销对文件的修改 31

一个特别危险的指令

git checkout -- file

如果确定file的修改内容不需要了,name可以用老版本把当前修改覆盖掉,不可以恢复的。
如果只是需要暂时隐藏,那么使用stash。

2.5 远程仓库的使用 32

2.5.1 显示远程仓库 32

$ git remote
origin
git remote -v
origin  git@ip:pro.git (fetch)
origin  git@ip:pro.git (push)

2.5.2 添加远程仓库 33

git remote add tm git@xx.git
git fetch tm
git merge tm/release/2.3 --allow-unrelated-histories

已有仓库,添加一个远程仓库,取了一个tm的简短的名字方便引用,git fetch tm获取tm的全部数据,后续可以访问tm的分支了,也可以和自己的分支合并。

2.5.3 从远程仓库获取和拉取数据 34

git fetch tm

获取tm的全部数据

2.5.4 将数据推送到远程仓库 34

git push origin HEAD

这是我常用的指令,推送到(push) 远端的(origin) 同名分支(HEAD)上

2.5.5 检查远程仓库 35

git remote show origin

查看远端信息,包括追踪信息,推送分支,你刚在本地创建了分支,还没有推送过,那么是没有可以推送的分支的信息的。

2.5.6 删除和重命名远程仓库 36

一般人没有这个权限的吧

在这里插入代码片

2.6 标记 36

2.6.1 列举标签 36

列举所有tag

git tag

列举特定系列tag

git tag -l "v1.2.3*"

2.6.2 创建标签 37

标签包括 注释标签 和 轻量标签

2.6.3 注释标签 37

打标签

git tag -a v1.4 -m "my version 1.4"

查看某个标签的信息

git show v1.4

2.6.4 轻量标签 38

不需要-a、-m等选项

git tag v1.4-lw

轻量标签的标签信息也少一些

git show v1.4-lw

2.6.5 补加标签 38

git tag -a v1.2 hash值

2.6.6 共享标签 39

推送标签,和远端git仓库同步标签,类似于推送分支
推送单个

git push origin [tagname]

一次全部推送

git push origin --tags

2.6.7 检出标签 39

不能检出标签,只能在标签上创建一个分支

git checkout -b version2 v2.0.0

2.7 Git别名 40

给git命令起别名,建议还是别学了

2.8 小结 41

第3章 Git分支机制 42

3.1 分支机制简述 42

git存储的是指向快照的指针

3.1.1 创建新分支 44

基于当前工作区创建新分支

git branch newbranch

3.1.2 切换分支 45

git checkout newbranch

切换分支就是将HEAD分支指向newbranch

3.2 基本的分支与合并操作 48

3.2.1 基本的分支操作 48

一个典型场景:
master分支上有个iss53问题需要修复,正在修复,发现一个紧急线上问题需要修复。

git checkout -b iss53 # 根据当前工作区切出iss53分支
vi file1
# 紧急修复
git commit -a -m "fix/修复一部分iss 53"
git checkout master
git checkout -b hotfix # 根据当前工作区切出iss53分支
vi file2
git commit -a -m "fix/hotfix"
git checkout master
git merge hotfix # hotfix是基于master的,所以master只是把指针快进了一下
git branch -d hotfix # 删除hotfix分支
git checkout iss53 # 切回iss53分支
vi file1
git commit -a -m "fix/修复完iss 53"
git merge master # 把master对hotfix的修复合入

3.2.2 基本的合并操作 52
3.2.3 基本的合并冲突处理 53
3.3 分支管理 55
3.4 与分支有关的工作流 56
3.4.1 长期分支 57
3.4.2 主题分支 58
3.5 远程分支 59
3.5.1 推送 63
3.5.2 跟踪分支 64
3.5.3 拉取 66
3.5.4 删除远程分支 66
3.6 变基 66
3.6.1 基本的变基操作 66
3.6.2 更有趣的变基操作 69
3.6.3 变基操作的潜在危害 71
3.6.4 只在需要的时候执行变基操作 74
3.6.5 变基操作与合并操作的对比 75
3.7 小结 75
第4章 Git服务器 76
4.1 协议 76
4.1.1 本地协议 76
4.1.2 HTTP协议 78
4.1.3 SSH协议 79
4.1.4 Git协议 80
4.2 在服务器上搭建Git 80
4.2.1 将裸仓库放置在服务器上 81
4.2.2 小型团队配置 82
4.3 生成个人的SSH公钥 83
4.4 设置服务器 84
4.5 Git守护进程 85
4.6 智能HTTP 87
4.7 GitWeb 88
4.8 GitLab 90
4.8.1 安装 90
4.8.2 管理 91
4.8.3 基本用法 93
4.8.4 协作 93
4.9 第三方托管选择 94
4.10 小结 94
第5章 分布式Git 95
5.1 分布式工作流 95
5.1.1 集中式工作流 95
5.1.2 集成管理者工作流 96
5.1.3 司令官与副官工作流 97
5.1.4 工作流小结 97
5.2 为项目做贡献 98
5.2.1 提交准则 98
5.2.2 私有小型团队 100
5.2.3 私有管理团队 105
5.2.4 派生的公开项目 110
5.2.5 通过电子邮件接受补丁的公开项目 113
5.2.6 小结 115
5.3 维护项目 115
5.3.1 使用主题分支 115
5.3.2 应用来自电子邮件的补丁 116
5.3.3 检出远程分支 118
5.3.4 确定引入内容 119
5.3.5 整合所贡献的工作结果 120
5.3.6 为发布版打标签 125
5.3.7 生成构建编号 126
5.3.8 准备发布 126
5.3.9 简报 127
5.4 小结 127
第6章 GitHub 128
6.1 账号设置与配置 128
6.1.1 SSH访问 129
6.1.2 头像 130
6.1.3 电子邮件地址 131
6.1.4 双因素身份验证 132
6.2 为项目做贡献 132
6.2.1 派生项目 132
6.2.2 GitHub流程 133
6.2.3 拉取请求的高 级用法 140
6.2.4 Markdown 144
6.3 项目维护 148
6.3.1 创建新仓库 148
6.3.2 添加协作人员 150
6.3.3 管理拉取请求 150
6.3.4 提醒和通知 155
6.3.5 特殊文件 158
6.3.6 项目管理 159
6.4 组织管理 160
6.4.1 组织的基本操作 160
6.4.2 团队 160
6.4.3 审计日志 162
6.5 GitHub脚本化 162
6.5.1 钩子系统 162
6.5.2 GitHub API 166
6.6 小结 170
第7章 Git工具 171
7.1 选择修订版本 171
7.1.1 单个修订版本 171
7.1.2 提交范围 175
7.2 交互式暂存 177
7.2.1 暂存和取消暂存文件 178
7.2.2 暂存补丁 180
7.3 储藏与清理 181
7.3.1 储藏工作成果 181
7.3.2 灵活运用储藏 183
7.3.3 从储藏中创建分支 184
7.3.4 清理工作 184
7.4 签署工作 186
7.4.1 GPG简介 186
7.4.2 签署标签 186
7.4.3 验证标签 187
7.4.4 签署提交 187
7.4.5 所有人都得签署 189
7.5 搜索 189
7.5.1 git grep 189
7.5.2 Git日志搜索 190
7.6 重写历史 192
7.6.1 修改**近一次提交 192
7.6.2 修改多个提交消息 192
7.6.3 重排提交 194
7.6.4 压缩提交 195
7.6.5 拆分提交 195
7.6.6 超强命令:filter-branch 196
7.7 重置揭秘 197
7.7.1 三棵树 198
7.7.2 工作流 199
7.7.3 重置的作用 203
7.7.4 利用路径进行重置 205
7.7.5 压缩 207
7.7.6 检出 209
7.7.7 小结 210
7.8 合并的高 级用法 211
7.8.1 合并冲突 211
7.8.2 撤销合并 220
7.8.3 其他类型的合并 222
7.9 rerere 225
7.10 使用Git调试 230
7.10.1 文件标注 230
7.10.2 二分查找 232
7.11 子模块 233
7.11.1 开始使用子模块 233
7.11.2 克隆含有子模块的项目 235
7.11.3 开发含有子模块的项目 236
7.11.4 子模块技巧 245
7.11.5 子模块的问题 246
7.12 打包 248
7.13 替换 251
7.14 凭据存储 257
7.14.1 底层实现 258
7.14.2 自定义凭据缓存 259
7.15 小结 261
第8章 自定义Git 262
8.1 配置Git 262
8.1.1 客户端基本配置 262
8.1.2 Git中的配色 265
8.1.3 外部的合并与diff工具 265
8.1.4 格式化与空白字符 268
8.1.5 服务器配置 270
8.2 Git属性 270
8.2.1 二进制文件 271
8.2.2 关键字扩展 273
8.2.3 导出仓库 276
8.2.4 合并策略 277
8.3 Git钩子 277
8.3.1 安装钩子 277
8.3.2 客户端钩子 278
8.3.3 服务器端钩子 279
8.4 Git强制策略示例 280
8.4.1 服务器端钩子 280
8.4.2 客户端钩子 285
8.5 小结 288
第9章 Git与其他系统 289
9.1 作为客户端的Git 289
9.1.1 Git与Subversion 289
9.1.2 Git与Mercurial 298
9.1.3 Git与Perforce 305
9.1.4 Git与TFS 317
9.2 迁移到Git 325
9.2.1 Subversion 325
9.2.2 Mercurial 327
9.2.3 Perforce 329
9.2.4 TFS 330
9.2.5 自定义导入工具 331
9.3 小结 337
第 10章 Git内幕 338
10.1 底层命令和高层命令 338
10.2 Git对象 339
10.2.1 树对象 341
10.2.2 提交对象 343
10.2.3 对象存储 345
10.3 Git引用 346
10.3.1 HEAD 348
10.3.2 标签对象 348
10.3.3 远程引用 349
10.4 包文件 350
10.5 引用规格 352
10.5.1 推送引用规格 354
10.5.2 删除引用 354
10.6 传输协议 354
10.6.1 哑协议 355
10.6.2 智能协议 356
10.6.3 协议小结 359
10.7 维护与数据恢复 359
10.7.1 维护 359
10.7.2 数据恢复 360
10.7.3 移除对象 362
10.8 环境变量 365
10.8.1 全局行为 365
10.8.2 仓库位置 365
10.8.3 路径规格 366
10.8.4 提交 366
10.8.5 网络 366
10.8.6 差异与合并 367
10.8.7 调试 367
10.8.8 杂项 369
10.9 小结 369
附录A 其他环境中的Git 370
附录B 在应用程序中嵌入Git 381
附录C Git命令 390


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关文章:

精通Git(第2版)读书笔记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言第 1章 入门 11.1 关于版本控制 11.1.1 本地版本控制系统 1 第 2章 Git基础 132.1 获取Git仓库 132.1.1 在现有中初始化Git仓库 132.1.2 克隆现有仓库 14 2.2 在…...

XUbuntu22.04之OBS30.0设置录制音频降噪(一百九十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

渗透测试学习day4

文章目录 靶机&#xff1a;SequelTask1Task2Task3Task4Task5Task6Task7Task8 靶机&#xff1a;CrocodileTask1Task2Task3Task4Task5Task6Task7Task8Task9Task10 靶机&#xff1a;ResponderTask1Task2Task3Task4Task5Task6Task7Task8Task9Task10Task11 靶机&#xff1a;ThreeTas…...

Deepin使用记录-deepin系统下安装RabbitMq

目录 0、引言 1、由于RabbitMq是erlang语言开发的&#xff0c;所有需要先安装erlang 2、更新源并安装RabbitMq 3、安装完成之后&#xff0c;服务是启动的&#xff0c;可以通过以下语句查看状态 4、这样安装完成之后&#xff0c;是看不到web页面的&#xff0c;需要再安装一…...

【腾讯云云上实验室】用向量数据库——实现高效文本检索功能

文章目录 前言Tencent Cloud VectorDB 简介Tencent Cloud VectorDB 使用实战申请腾讯云向量数据库腾讯云向量数据库使用步骤腾讯云向量数据库实现文本检索 结论和建议 前言 想必各位开发者一定使用过关系型数据库MySQL去存储我们的项目的数据&#xff0c;也有部分人使用过非关…...

Pytorch中的gather的理解和用法

Pytorch中的gather的理解和用法 这个Gather的用法花费了点时间&#xff0c;我相信很多人一开始不太懂。 跟着我简单理解。 首先样例是&#xff1a; tensor([[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])然后index: [[2, 1, 0]]然后执行的代码&#xff1a; tensor_0.gather(0…...

唯创知音WTN6系列语音芯片:高音频采样率与精细音量控制赋能广泛应用

在语音芯片领域&#xff0c;唯创知音的WTN6系列语音芯片以其出色的性能和广泛的应用领域&#xff0c;无疑是行业的一颗璀璨明星。近期&#xff0c;该系列芯片实现了音频采样率32kHz的突破&#xff0c;以及16级音量控制的精细调节&#xff0c;进一步提升了其在各类应用中的表现。…...

机器人分类

从发展阶段分类&#xff1a; 1第一代机器人2第二代机器人3第三代机器人&#xff1a;智能型机器人。生于90年代。具有传感器&#xff0c;以前的机器人都不具有传感器 从控制方式分类&#xff1a;&#xff08;我觉得这个分类好乱&#xff09; 操作型机器人&#xff1a;可自动控…...

html/css中位置position的绝对位置absolute顺时针盒子案例图片排序

目标图片&#xff1a; Dreamweaver界面&#xff1a; 代码部分&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>无标题文档</title> <style type"text/css">.red{background-color:r…...

分享86个清新唯美PPT,总有一款适合您

分享86个清新唯美PPT&#xff0c;总有一款适合您 86个清新唯美PPT下载链接&#xff1a;https://pan.baidu.com/s/1QEaXeWAekCbAWDD0iTgvMw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整…...

虚拟机系列:Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置

Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置 Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置 在更新Oracle VM Virtua…...

【数据库】数据库并发控制的冲突检测,冲突可串行化的调度,保障事务的特性

冲突可串行化 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会定期更新…...

java 对象大小计算

说明&#xff1a; 对于64位机&#xff1a;一个对象由三部分组成 对象头(object header) mark word &#xff1a;64bitkclass pointer &#xff1a;32bit(默认使用指针压缩)&#xff0c;如果取消指针压缩( XX:-UseCompressedOops)&#xff0c;则占用64bit数组长度&#xff1a;数…...

12个国外电子元器件基本参数(下)

DAC8162SDSCR TI DAC088S085CISQNOPB TI TL4050C41QDBZR TI NE3516S02-T1D-A RENESAS TECHNOLOGY MXL862-AL-R MAXLINEAR SI32176-B-GM1R SILICON LAB...

Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 构建可移植的计算机视觉环境 文章目录 前言引言简介&#xff1a;目的和重要性&#xff1a; 深入理解Docker和OpenCVDocker的基本概念和优势&#xff1a;OpenCV简介和应用领域&#xff1a;…...

SSH基础和高级用法

SSH基础和高级用法 SSH&#xff08;Secure Shell&#xff09;是一种安全协议&#xff0c;用于在不安全的网络上提供安全的远程登录和数据传输。以下是一些SSH的用法和高级用法&#xff1a; 基本用法&#xff1a; 远程登录&#xff1a;使用ssh命令可以实现在本地计算机上远程…...

算法通关第十三关-青铜挑战数学基础问题

数组元素积的符号 描述 : 已知函数 signFunc(x) 将会根据 x 的正负返回特定值&#xff1a; 如果 x 是正数&#xff0c;返回 1 。如果 x 是负数&#xff0c;返回 -1 。如果 x 是等于 0 &#xff0c;返回 0 。 给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的…...

如何使用 Freepik 的 Pikaso 工具来画图

Freepik 是一个提供高质量的照片、矢量图像、插图以及 PSD 文件素材的网站https://www.freepik.com/您可以在这里找到各种风格和主题的素材&#xff0c;用于您的创意项目。Freepik 还提供了一个名为 Pikaso 的在线画图工具&#xff0c;让您可以轻松地创建和编辑您自己的图像&am…...

一个没正常处理tcp对端关闭的bug

最近使用自研的http client时发现一个问题&#xff0c;对端在发送响应数据之后立即调用close关闭了连接&#xff0c;我这没有调用到响应的回调&#xff0c;而是调用到了连接关闭的回调。对端延迟一会再关闭连接就没问题&#xff0c;用curl去访问也是正常的。经过排查是没有正确…...

什么是JDK

JDK是Java的开发工具&#xff0c;全称为Java Development Kit&#xff0c;包含Java运行环境&#xff0c;Java工具&#xff0c;Java基础类库三大部分。 Java运行环境 Java运行环境&#xff0c;也就是JRE&#xff0c;全称为Java Runtime Environment &#xff0c;其中包含JVM&…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...

k8s从入门到放弃之Pod的容器探针检测

k8s从入门到放弃之Pod的容器探针检测 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;容器探测是指kubelet对容器执行定期诊断的过程&#xff0c;以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...