Git 和 GitHub:(五)一文给出常用 Git 命令,持续更新中......
上一篇下一篇Git Bash 的使用与快捷键目 录Git 命令2.1git -v查看本地 git 版本2.2git init初始化本地 git 仓库2.3git clone克隆远程仓库2.4git remote管理远程仓库2.5git fetch拉取最新更改但不合并不修改2.6git pull拉取远程最新更改merge/rebase2.7git checkout旧切换分支没有则创建2.8git switch新切换分支没有则创建2.9git add将修改添加到暂存区2.10git commit提交修改到本地仓库2.11git status查看哪些文件被修改/新增……2.12git log查看提交历史记录2.13git merge合并提交合进来2.14git rebase变基提交搬过去2.15git push将提交推送到远程仓库2.16git branch操作本地分支2.17git stash临时保存修改2.18git restore恢复工作区或暂存区2.19git reset回退最近的提交或改动Git 命令所有命令均需要右键点击【Git Bash here】之后在命令交互框内执行命令大小写敏感 2.1git -v查看本地 git 版本在 Git CMD / Git Bash 中使用git -v可以查看 git 的版本2.2git init初始化本地 git 仓库① 作用在本地初始化一个新的 Git 仓库即在当前目录或指定目录中创建.git子目录② 常用选项无③ 使用方式方式一先进入一个已存在的空文件夹该文件夹的名称通常被当作“本地仓库名”然后执行git init初始化示例mkdirmy-project-git1cdmy-project-git1gitinit也可以在非空文件夹中使用不过后续 git add 的时候就会把一开始已存在的内容添加到暂存区然后提交。方式二直接使用git init 目录名Git 会自动创建名为目录名的新文件夹并在其中初始化仓库示例gitinit my-project-git1④ 注意Git 本身没有 “仓库名” 的概念所谓 “仓库名” 通常指本地文件夹名或远程托管平台上的项目名如 GitHub 的username/repo2.3git clone克隆远程仓库必须在一个空文件夹内操作如果目标文件夹存在且非空Git 会报错拒绝克隆gitclone -[选项]远程仓库分支名url本地目录名# (完整版指令)克隆远程仓库的某个分支到某个本地文件夹下, 自动初始化并关联远程地址① 作用从远程仓库克隆一份完整副本到本地自动初始化并关联远程地址② 常用选项-b branch指定要克隆的分支--depth 1浅克隆只拉取最新一次提交节省时间与空间.克隆到当前文件夹不再新建文件夹③ 使用方式方式一克隆整个仓库到当前目录下会先创建并进入一个和仓库名同名的文件夹再进行存放示例gitclone https://github.com/user/my-project.git方式二克隆整个仓库到当前目录下不再新建文件夹示例gitclone https://github.com/user/my-project.git.方式三克隆远程仓库的某个分支并保存到本地文件夹名本地目录名示例# git clone -b 分支名 仓库地址 目标文件夹名gitclone-bdev https://github.com/user/my-project.git my-project-dev# 克隆https://github.com/user/my-project.git远程仓库的dev分支到本地文件夹my-project-dev下克隆远程仓库的某个分支并加上--recursive选项示例gitclone--recursive-b分支名url其中 -b 后面要紧跟分支名2.4git remote管理远程仓库① 作用管理远程仓库的名称与 URL如 origin、upstream 等② 常用子命令/选项git remote add 远程仓库名 url还没有关联或克隆远程仓库添加一个远程仓库git remote -v已经关联或克隆远程仓库列出所有关联/克隆的远程仓库及其 URLgit remote set-url 远程仓库名 new-url已经关联或克隆远程仓库修改远程仓库的 URL③ 使用方式查看当前远程仓库及其 URL示例gitremote-v添加名为origin的远程仓库以 HTTPS 格式为例示例gitremoteaddorigin https://github.com/user/my-project.git2.5git fetch拉取最新更改但不合并不修改gitfetch -[选项]远程仓库名分支名① 作用从远程仓库下载最新提交和对象到.git 目录下但不自动合并、不修改工作区或当前分支② 常用选项--all拉取所有配置的远程仓库如origin、upstream等的更新多 remote 场景远程仓库名 branch只拉取指定远程仓库的特定分支如git fetch origin dev-p或--prune清理已删除的远程分支引用强烈推荐定期使用例如同事在 GitHub 上删了feature/login你本地的origin/feature/login也会被自动移除③ 使用方式获取origin的最新数据不改变本地分支示例gitfetch origin查看远程分支状态后再决定是否合并示例gitfetch origingitlog main..origin/main# 查看本地 main 缺少哪些远程提交gitdiffmain origin/main# 对比代码差异清理 “僵尸” 远程分支引用推荐定期执行示例gitfetch-p# 或 git fetch --prune2.6git pull拉取远程最新更改merge/rebase可以先看看后面的 git merge 和 git rebasegitpull -[选项]远程仓库名分支名① 作用用于从远程仓库获取最新代码并整合到当前分支。本质是两个操作的组合但具体是哪两个取决于是否使用--rebase选项② 常用选项--rebase用 rebase 替代 merge保持线性历史remote branch指定拉取的远程分支③ 使用方式拉取并合并远程main分支示例gitpull origin main以 rebase 方式同步更新推荐用于个人分支示例gitpull--rebaseorigin main④ 理解默认行为git pullgit fetchgit mergegitpull origin main# 等价于gitfetch origin# 1. 获取远程最新数据不改变工作区gitmerge origin/main# 2. 将远程分支合并到当前分支会产生一个合并提交保留分叉结构真实反映开发过程使用--rebasegit pull --rebasegit fetchgit rebasegitpull--rebaseorigin main# 等价于gitfetch origin# 1. 获取远程最新数据gitrebase origin/main# 2. 将本地提交“变基”到远程分支之后线性历史无合并提交看起来像所有工作都在最新代码基础上顺序完成2.7git checkout旧切换分支没有则创建① 作用切换分支或恢复工作区文件旧用法② 常用选项-b branch创建并切换到新分支-- file丢弃工作区对某文件的修改慎用③ 使用方式切换到已有分支示例gitcheckout main创建并切换到新分支示例gitcheckout-bfeature/login撤销某个文件的修改恢复到 HEAD 版本示例gitcheckout -- README.md④ 注意Git 2.23 推荐用git switch切换分支、git restore恢复文件但checkout仍广泛使用。2.8git switch新切换分支没有则创建后续更新2.9git add将修改添加到暂存区① 作用将工作区的修改添加到暂存区staging area为下次提交做准备② 常用选项.或-A添加所有变更包括新增、修改、删除-i交互式分块添加可选择部分修改③ 使用方式添加所有更改示例gitadd.添加指定文件# 添加单个文件gitadd文件名.c# 添加多个文件空格隔开gitadd文件1.c 文件2.h 文件3.txt# 添加某个目录里的所有改动gitadd子目录/如果不确定文件名git status会列出所有改动直接用鼠标选中复制就行。交互式暂存git add -igitadd-i会进入一个菜单可以按2update选择已跟踪的文件按4add untracked选择新文件按*输入文件编号批量勾选2.10git commit提交修改到本地仓库① 作用将暂存区的内容永久保存为一次提交commit到本地仓库② 常用选项-m message直接提供提交信息--amend修改上一次提交可改内容或 message③ 使用方式提交并仅附带一行说明示例gitcommit-mfeat: add user login API进入编辑页面详细编辑提交说明一般都是进入Vim步骤键入下列指令后回车gitcommit如果有警告则按指示操作按E可继续编辑按一下i键 → 左下角会出现-- INSERT --这时就可以正常打字了输入提交说明写完提交说明后按Esc键退出编辑模式。输入:wq并按Enter保存并退出提交就完成了。如果不想提交了按Esc后输入:q!并回车即可放弃提交。修改最新一次提交比如漏加文件或写错更新说明示例gitaddmissing-file.txt# 保留原更新说明gitcommit--amend--no-edit# 要修改更新说明gitcommit--amend# 然后回车进入编辑页面然后再次推送的话只能使用如下格式指令强制推送gitpush --force-with-lease origin dev/liangxiao# git push --force-with-lease origin 分支名2.11git status查看哪些文件被修改/新增……① 作用显示工作区与暂存区的状态哪些文件被修改、新增、未跟踪等② 常用选项-s简短输出格式适合脚本或快速查看③ 使用方式查看详细状态示例gitstatus快速查看一行一个文件示例gitstatus-s2.12git log查看提交历史记录① 作用查看提交历史记录② 常用选项--oneline每条提交显示为一行SHA 简写 message--graph显示分支合并图-n num只显示最近 n 条记录③ 使用方式查看最近 5 条简洁日志示例gitlog--oneline-5查看带分支图的完整历史示例gitlog--graph--oneline--all退出 git log按键盘上的q键即可即 quit 的首字母如果按q没反应可以试试先按一下Ctrl C再按q或者直接按Ctrl C强制中断当前进程不过q是标准退出方式绝大多数情况管用。2.13git merge合并提交合进来① 作用将指定分支的更改合并到当前分支创建一个新的合并提交merge commit有两个父提交并且不修改任何已有提交② 常用选项--no-ff禁用快进合并强制创建 merge commit保留分支结构③ 使用方式合并某个分支到当前分支以feature/login分支为例示例gitmerge feature/login保留分支历史推荐用于功能分支合入主干示例gitmerge --no-ff feature/login④ 理解假设有如下历史A — B — C ← main 分支 \ D — E ← feature 分支main分支提交了 3 次在 C 提交停下然后基于main的 B 提交创建了feature分支并且在feature上做了 D、E 两个新提交现在在main上执行gitmerge featureGit 会创建一个新的合并提交 M它同时指向 C 和 EA — B — C —— M ← main现在包含合并 \ / D — E ← feature结果是所有原始提交A、B、C、D、E一个都没动ID 不变。分支的分叉结构被完整保留你能清楚看到feature是从 B 之后分出去的后来又被合回来。历史真实反映了开发过程谁在什么时候开了分支、做了什么、何时合并——全都看得见。2.14git rebase变基提交搬过去① 作用将当前分支的提交“移植”到目标分支的最新提交之后形成线性历史② 常用选项-i交互式 rebase可 squash、edit、drop 提交--onto高级用法精确控制 rebase 范围③ 使用方式将当前分支变基到main上示例gitrebase main交互式整理最近 3 个提交示例gitrebase-iHEAD~3④ 理解git rebase的分支图特点是把一个分支的提交“搬”到另一个分支的最新提交之后形成一条线性历史原来的分叉结构消失。可以用一个具体例子来说明假设有如下历史A — B — C ← main 分支 \ D — E ← feature 分支main分支提交了 3 次在 C 提交停下然后基于main的 B 提交创建了feature分支并且在feature上做了 D、E 两个新提交若此时在feature分支上运行gitcheckout featuregitrebase mainGit 会找出feature相对于main的新提交D、E暂时“移除”D、E把feature指向main的最新提交 C重新应用 D、E 的变更生成新的提交 D’、E’rebase 之后的分支图A — B — C — D — E ← feature 分支 ↑ main 仍在 Cmain仍然在 C没动feature现在是一条从 C 延伸出来的直线原来的 D、E 被替换为新的提交 D’、E’内容相同但 commit ID 不同分叉痕迹消失了看起来像是你在main最新代码基础上直接开发的无法看出feature曾经是独立开发的如果之后你再切换到main并执行git merge feature因为feature已经基于mainGit 会直接“快进”fast-forward不会产生合并提交gitcheckout maingitmerge feature结果A — B — C — D — E ← main 和 feature 都指向这里⑤ 注意不要对已推送到公共仓库的提交使用 rebasegit rebase main 之后main 本身的提交历史并没有被影响。2.15git push将提交推送到远程仓库① 作用将本地分支的提交推送到远程仓库② 常用选项-u设置上游分支首次推送时使用后续可直接git push--force-with-lease安全地强制推送仅在远程未被他人更新时覆盖③ 使用方式首次推送本地分支并关联远程示例gitpush-uorigin feature/login更新已关联的远程分支示例gitpush安全强制推送修复提交后示例gitpush --force-with-lease origin feature/login删除远程某个分支gitpush origin--delete分支名2.16git branch操作本地分支① 作用列出、创建或删除本地分支② 常用选项-d branch删除已合并的分支-D branch强制删除分支即使未合并-v显示每个分支的最新提交③ 使用方式查看所有本地分支示例gitbranch删除已合并的旧分支示例gitbranch-dold-feature2.17git stash临时保存修改① 作用临时保存当前工作区和暂存区的修改便于切换上下文② 常用选项git stash push -m msg保存并附带说明git stash pop恢复最近一次 stash 并删除记录git stash list查看所有 stash 记录③ 使用方式临时保存修改不提交示例gitstash push-mWIP: half-done form validation恢复最近的 stash示例gitstash pop2.18git restore恢复工作区或暂存区工作区本地工程文件夹暂存区git add 之后暂存的地方① 作用用于从某个来源恢复工作区或暂存区中的文件即丢弃修改② 常用选项--worktree / -W恢复工作区默认行为--staged / -S恢复暂存区--sourcetree指定恢复来源默认为暂存区或 HEAD--patch / -p交互式选择恢复哪些修改块③ 使用方式丢弃工作区的修改恢复文件到最新的 git add 之后的版本这会用暂存区中的版本覆盖工作区的文件相当于撤销工作区中的改动示例gitrestorefile# 或明确指定gitrestore--worktreefile取消暂存把文件从暂存区移回工作区:这会把文件从暂存区移除但保留工作区的修改。示例gitrestore--stagedfile同时恢复暂存区和工作区这会同时把暂存区和工作区都恢复到 HEAD 提交的状态相当于完全放弃该文件的所有修改。示例gitrestore--staged--worktreefile# 或简写为gitrestore-SWfile从指定源恢复使用--source可以从任意提交或分支恢复文件示例# 从某个提交恢复某个文件到工作区gitrestore--sourceabc1234file# 从另一个分支恢复某个文件gitrestore--sourcemainfile# 从某个提交恢复某个文件并放入暂存区gitrestore--sourceHEAD~2--stagedfile④实例# 丢弃对某个文件的修改gitrestore app.js# 把刚才 git add 的文件撤回来但修改保留着gitrestore--stagedapp.js# 从 master 分支借一个文件过来gitrestore--sourcemaster config.yml# 交互式恢复一部分修改要一部分不要gitrestore--patchapp.js2.19git reset回退最近的提交或改动reset 的核心作用是移动 HEAD 指针以及可选地影响暂存区和工作区。主要用法是gitreset --[选项]HEAD~n# HEAD代表最新提交, n表示要回退的提交数量, n1表示回退到上一次提交根据参数不同它有三种主要模式模式选项暂存区工作区本地文件常用场景--soft不动不动撤销 commit但保留所有改动在暂存区方便重新提交--mixed默认重置清空不动撤销 commit 并取消暂存改动留在工作区--hard重置清空丢失彻底丢弃某次提交及之后的所有本地真实改动常用示例撤销最近一次 commit但保留改动在暂存区gitreset--softHEAD~1撤销最近 n 次 commit撤销最近一次 commit并把改动放回工作区取消暂存文件回到“已修改但未暂存”状态可以重新选择要 add 哪些gitreset HEAD~1# 或显式写成 git reset --mixed HEAD~1彻底丢弃最近一次 commit 及其所有改动危险除非靠reflog找回gitreset--hardHEAD~1取消git add把已暂存的文件移回工作区这是日常开发中最高频的用法 —— 把不小心 add 的文件从暂存区移除gitreset HEAD 文件名# 或者新版 Git 提供更友好的提示gitrestore--staged文件名比如 keil 工程不小心把 .uvguix.admin 和 .uvoptx 文件也添加到暂存区了就可以使用此命令。回退到某个特定 commit# 查看历史找到目标 commit 的哈希gitlog--oneline# 回退到那个 commit保留之后的所有改动在工作区gitreset 目标commit哈希安全警告如果该 commit 已经推送到远程reset后再push需要--force-with-lease会影响其他协作者。即使--hard了git reflog仍能看到之前 HEAD 的位置可以通过git reset --hard HEAD{n}找回。前提是改动曾经被 commit 过或暂存过。

相关新闻

C++11 initializer_list:花括号初始化的核心机制与实战应用

C++11 initializer_list:花括号初始化的核心机制与实战应用

1. 项目概述&#xff1a;为什么我们需要initializer_list&#xff1f;在C的日常开发中&#xff0c;尤其是构建容器类或者需要灵活初始化对象时&#xff0c;你是否曾羡慕过像std::vector<int> vec {1, 2, 3, 4, 5};这样简洁直观的初始化方式&#xff1f;在C11标准之前&am…

2026/10/16 23:58:52 阅读更多 →
C++程序结构全解析:从Hello World到多文件项目实战

C++程序结构全解析:从Hello World到多文件项目实战

1. 从“Hello World”到理解程序骨架很多朋友刚开始学C&#xff0c;可能都是从一行cout << "Hello World!";开始的。这行代码确实能让你快速看到成果&#xff0c;获得一点成就感&#xff0c;但如果你只停留在“照着敲就能运行”的阶段&#xff0c;那就像只学会…

2026/10/17 3:19:14 阅读更多 →
Git 和 GitHub:(四)Git Bash 的使用与快捷键,持续更新中......

Git 和 GitHub:(四)Git Bash 的使用与快捷键,持续更新中......

上一篇下一篇基础知识与实用技巧目 录Git Bash 的使用与快捷键1&#xff09;基础使用2&#xff09;快捷键Git Bash 的使用与快捷键 1&#xff09;基础使用 Git Bash 不支持 ctrlc 和 ctrlv &#xff0c;但支持右键复制和粘贴&#xff08;有的台式机支持 ctrlc &#xff0c;然…

2026/10/17 3:22:27 阅读更多 →

最新新闻

kmodes聚类算法:专治纯类别数据的无监督分群

kmodes聚类算法:专治纯类别数据的无监督分群

简介&#xff1a;本资源是面向数据科学学习者与Python开发者的kmodes聚类算法开源实现&#xff0c;专为解决分类变量及混合型数据&#xff08;数值类别&#xff09;的无监督聚类难题而设计&#xff0c;适用于客户分群、文本分析、生物信息等实际场景。压缩包共30个文件&#xf…

2026/10/17 14:25:11 阅读更多 →
工业视觉检测落地指南:从人工目检到TVA全自动闭环的痛点与对策

工业视觉检测落地指南:从人工目检到TVA全自动闭环的痛点与对策

这几年常年泡在制造现场&#xff0c;最常被问的一句话就是&#xff1a;“这套视觉检测到底能不能替掉人工&#xff1f;”聊得越深&#xff0c;越发现真正的问题从来不是“算法能不能识别”&#xff0c;而是企业从人工目检走向全自动化检测时&#xff0c;那些藏在实际产线里的核…

2026/10/17 14:25:11 阅读更多 →
Vibe Coding 指南:用自然语言实现 AI 自动构建产品

Vibe Coding 指南:用自然语言实现 AI 自动构建产品

1. Vibe Coding 是什么&#xff1a;编程这件事&#xff0c;终于可以不那么“程序员”了 1.1 一个词掀起的讨论&#xff1a;它在解决什么问题 最近圈子里到处都在聊 Vibe Coding&#xff0c;我身边好几个以前连 HTML 都懒得写的朋友&#xff0c;居然自己做起了小工具、小网站&a…

2026/10/17 14:25:11 阅读更多 →
纯C++ OpenSSL实现HTTPS客户端:深度定制TLS握手与证书验证

纯C++ OpenSSL实现HTTPS客户端:深度定制TLS握手与证书验证

简介&#xff1a;本资源是一份面向C初学者与网络编程实践者的HTTPS通信实战项目&#xff0c;聚焦OpenSSL在MFC框架下的集成应用&#xff0c;解决传统socket无法直接访问HTTPS站点的核心痛点。代码完整实现了原生socket HTTP POST登录与基于OpenSSL的HTTPS POST登录&#xff08;…

2026/10/17 14:25:11 阅读更多 →
红外光面部表情识别数据集解析:VOC+YOLO格式与训练实践

红外光面部表情识别数据集解析:VOC+YOLO格式与训练实践

1. 为什么攒这个数据集&#xff1a;一次真实的需求驱动先交代一下背景。我最近在做一个情绪识别相关的模拟项目&#xff0c;需要让摄像头实时判断用户表情&#xff0c;再根据表情状态触发不同的交互逻辑。最初我打算直接用现成的开源表情数据集&#xff0c;比如常见的FER系列&a…

2026/10/17 14:25:11 阅读更多 →
深度学习从入门到精通:一条能跑通的路,比一百篇科普都值钱

深度学习从入门到精通:一条能跑通的路,比一百篇科普都值钱

简介&#xff1a;这份PDF教程面向零基础到进阶的深度学习学习者&#xff0c;系统梳理了从概念入门到实战应用的完整知识链路&#xff0c;帮助读者解决数学基础薄弱、框架选择迷茫、原理理解不透等常见痛点。资源包为单个PDF文件&#xff0c;大小约311KB&#xff0c;内容紧凑便于…

2026/10/17 14:24:10 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介&#xff1a;《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南&#xff0c;重点围绕V3与R1两款模型的能力差异与适用场景展开&#xff0c;帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件&#xff0c;压缩包大小约311KB&#xff0c;篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介&#xff1a;这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档&#xff0c;共收录两百余条可直接套用的润色指令&#xff0c;涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度&#xff0c;并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介&#xff1a;本资源是一份基于OpenCV的本科课程设计完整报告&#xff0c;面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生&#xff0c;解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →