TortoiseGit绿色对勾消失?从图标覆盖到注册表抢位的完整排查指南
那天我像往常一样打开资源管理器突然发现整个工作目录的文件夹都变成了最普通的黄色小文件夹——TortoiseGit 的绿色对勾不见了。第一反应是仓库坏了赶紧打开终端跑了个git status结果文件状态一切正常也没有任何报错。那这就不是数据问题是显示层的问题。这篇文章把我这次排查“TortoiseGit 突然不显示绿色勾”的完整过程和背后的原理捋一遍。排查思路同样适用于 TortoiseSVN、或其他依赖 Windows 图标覆盖机制的 Git 客户端。适合两类人看一类是刚遇到这个问题、想尽快找到解决办法的另一类是想搞明白“为什么这种破事会隔三差五出现”顺便以后少在这上面浪费时间的。1. 图标消失那天我差点以为工程坏了1.1 先弄清楚到底是仓库坏了还是图标不显示了很多人在看到绿色对勾消失的瞬间心里想的是“完蛋了工程文件是不是被动过”。其实这个念头是多余的。TortoiseGit 的绿色对勾只是一个状态显示器它显示的是“这个目录里的文件被 Git 正常跟踪、且与提交版本一致”。显示器不亮了不代表电视坏了。我当时按顺序做了三件很简单的事git status git log --oneline -5 git rev-parse --is-inside-work-treegit status能看到当前分支、有没有未提交修改git log能看到最近几条提交记录git rev-parse --is-inside-work-tree会直接告诉你当前目录到底是不是一个 Git 工作副本。三条命令跑完仓库数据完全正常那问题就确定了TortoiseGit 本身没坏Windows 没给它地方显示图标而已。这里有个容易手滑的地方有的人一看图标没了就怀疑是.git目录损坏赶紧去跑git clean或git reset --hard。我先劝一句除非你确认改了不该改的文件否则在没跑完git status之前任何破坏性命令都不要碰。数据安全的底线就是排查显示问题别碰真实数据。1.2 绿色对勾是怎么画上去的overlay 机制初聊TortoiseGit 的图标并不是直接把颜色画在文件夹上的它依赖的是 Windows 资源管理器提供的一种能力叫“图标覆盖”Icon Overlay。简单理解就是资源管理器允许第三方软件在文件或文件夹图标左下角叠加一个小图标用来表达某种附加状态。TortoiseGit 就靠这个机制把绿色对勾、红色感叹号、黄色加号这些图标贴上去。但这里有个关键点TortoiseGit 并没有办法每次都去实时问“这个文件现在到底什么状态”因为大仓库里如果每次打开资源管理器都去跑一遍git status性能会慢到让人抓狂。所以它背后有一个缓存进程专门维护文件状态定期刷新。问题就来了缓存是“近似”的不是“实时”的。当外部工具直接改文件、代码编辑器大范围生成临时文件、同步盘替换了本地文件之后缓存可能还停留在旧状态于是图标要么不更新要么干脆消失。搞懂这个机制之后后面所有排查思路就顺了要么是缓存没刷新要么是显示层被 Windows 挡住了要么是路径形态特殊导致状态检测失败。下面按从轻到重的顺序走一遍每一步都告诉我为什么这么干。2. 十分钟内解决90%临时故障四招连环2.1 第一招让 TortoiseGit 重新检测状态最简单的一招在仓库目录上右键进入 TortoiseGit 子菜单找类似 “Reload icon overlays” 或 “刷新状态” 的选项。点一下缓存进程会重新读取工作副本状态。如果你找不到这个菜单项更直接的办法是打开任务管理器找到 TortoiseGit 的缓存进程可能是TortoiseGitCache.exe也可能看到类似TSVNCache.exe的名字选中它结束进程。别慌这个进程结束之后下次打开资源管理器的时候系统会自动把它拉起来不用你手动启动。我遇到过很多次这种场景某 IDE 跑完编译脚本成百上千个文件被重新生成然后我切回资源管理器整个目录的图标全乱了。这时候不需要重装不需要重启电脑手动触发一次刷新基本就能回来。如果没回来再看后面的招。2.2 第二招检查设置而不是急着重装右键仓库目录进入 TortoiseGit - Settings找到 Icon Overlays 页面。里面有很多复选框比如 Versioned已版本化、Modified已修改、Conflicted冲突、Added新增、Deleted删除、Ignored忽略、Unversioned未版本控制等。重点检查两件事第一Versioned 这个选项有没有被意外关掉。如果它被关了那所有被版本控制的文件夹都不会显示绿色对勾。第二看有没有“只在资源管理器显示图标”之类的选项被误改。如果勾选了类似选项你也许在 IDE 内部的文件树里看不到图标但资源管理器里应该正常。还有一个容易忽略的选项状态缓存模式Status Cache。通常有三种模式可选None、Cached、Git不同版本叫法可能略有差异。默认的 Cached 模式依赖后台缓存进程兼顾性能和实时性。如果你发现某个仓库图标频繁不刷新可以临时切到每次都直接查状态的模式试试——代价是会慢很多但一旦切过去图标就正常了基本能断定是缓存坏了而不是 TortoiseGit 数据有问题。2.3 第三招重启 Windows 资源管理器这招本质上就是给 Windows 的显示层做“重启”。操作方法有两种在任务管理器里找到“Windows 资源管理器”右键选择“重新启动”。或者打开命令行手动执行taskkill /f /im explorer.exe start explorer.exe重启资源管理器之后所有第三方 overlay 图标都会重新加载一遍。这个过程会强制杀掉所有 explorer 进程所以如果有打开的资源管理器窗口保存好正在处理的东西窗口会被关掉再重开。UWP 应用通常也会被一起退出重新点开就行。有些临时性的“图标缓存卡死”靠这一招就能治好。如果重启 explorer 之后图标回来了但过几天又消失那说明根因不在显示层继续往后面看。2.4 第四招清掉 Windows 自己的图标缓存Windows 自己会把所有文件类型图标、Overlay 图标缓存到本地文件里。缓存坏掉之后最常见的一个症状就是文件明明存在图标却是旧的、空的、或者干脆不显示。清理方法是结束 explorer删除缓存文件再重新拉起 explorer。我用的是一个批处理taskkill /f /im explorer.exe del /a /f /q %LocalAppData%\IconCache.db del /a /f /q %LocalAppData%\Microsoft\Windows\Explorer\iconcache_*.db start explorer.exe注意路径里的%LocalAppData%环境变量。在 cmd 和 PowerShell 里都能正确展开。删除时用了/a参数是因为这些缓存文件大多是隐藏属性不加/a有时删不掉。iconcache_*.db是 Windows 8/10/11 实际使用的图标缓存文件按尺寸分了好几个文件IconCache.db则是老系统留下来的旧格式两个都删最保险。删完缓存重启 explorer 之后系统会重新扫描所有图标首次打开某些文件夹可能略慢属正常现象。这一步解决的是“Windows 自己记错了图标长什么样”的问题和 TortoiseGit 后台缓存是两回事。如果走到这里图标还没复活那大概率是名额被抢了。3. 隐藏在深处的槽位战争为什么资源管理器“名额不够”3.1 Windows 到底允许多少个第三方覆盖图标这是整个排查过程中最容易被忽略、但实际频率最高的一层原因。Windows 资源管理器对 overlay icon 不是无限量支持的。资源管理器总共只有大约 15 个 overlay 图标槽位其中还要留几个给系统自带的功能例如快捷方式小箭头、文件锁定、共享等。留给第三方软件的差不多只剩 11 个左右。而 TortoiseGit 为了表达各种状态本身就要注册好几个图标绿色对勾、红色感叹号、黄色加号、蓝色减号、灰色忽略图标等等。算下来一个 TortoiseGit 就要占用好几个位置。如果系统里再装一些同样依赖 overlay 的软件比如云盘同步客户端、杀毒软件、其他 Git 客户端附带的小插件几十个注册项去抢十几个位置TortoiseGit 就很容易“落选”。这就能解释一个问题很多人的 TortoiseGit 刚装好时图标正常用着用着突然不显示多半是在某次安装或更新某个软件之后发生变化的。不一定是那个软件撞坏了什么纯粹是它的 overlay 注册项排在了 TortoiseGit 前面把名额占完了。3.2 注册表里的排队规则名字带空格就能插队想知道是谁抢了名额得去注册表里看。打开regedit定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers以及用户级别对等的路径HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers这个目录下每一个键都代表一个注册了 overlay 图标的软件。资源管理器分配槽位的时候会把这些键按名称排序排在前面的先占位置排在后面的可能连位置都没有。排序规则是按字符的 ASCII 码来的这里面有个很微妙的小技巧空格的 ASCII 码是 32比数字 48、大写字母 65 都小。所以很多聪明的软件会在自己的注册表键名前面加几个空格比如“ OneDrive”这样它在排序上能排到绝大多数不带空格的软件前面稳稳插队。TortoiseGit 自己有对策它的键名通常以数字前缀开头比如类似 “1TortoiseGit” 这种写法为的就是尽量靠前。但这个策略顶不住满屏空格的竞争对手。如果你在注册表里看到 TortoiseGit 的键名确实存在位置却被一堆带空格的键压到后面那问题就很清楚了图标活着只是没排上号。3.3 如何在抢位战中帮 TortoiseGit 一把操作之前一定先备份在注册表左侧树里右键ShellIconOverlayIdentifiers选择导出保存一个.reg文件。万一改错了双击就能还原。之后找到 TortoiseGit 相关的键名右键重命名在前面加几个空格比如从 “1TortoiseGitModified” 改成 “ 1TortoiseGitModified”。因为空格排序靠前加了空格就能比其他非空格开头的键排在更前面。改完之后重启资源管理器再看图标是否恢复。这招不是官方推荐的标准做法但我实测过很多次确实有效。它的原理只是借助排序规则调整优先级并不会改变 TortoiseGit 的注册信息本身。需要注意的是以后你如果卸载再重装 TortoiseGit或者它自己升级时重新写入注册表这个空格前缀可能会被覆盖掉到时又得手动加一次。所以最好把这段操作记在顺手的笔记里下次直接用。4. 路径形态的坑网络盘、同步目录、submodule4.1 网络驱动器上的仓库图标天生会时灵时不灵如果你把仓库放在 NAS、其他电脑的共享目录、或者映射的网络盘上绿色对勾经常消失而本地仓库一切正常那大概率不是 TortoiseGit 的锅。原因在于Windows 对网络驱动器SMB 协议的文件变更通知机制和本地磁盘不完全一样很多文件事件根本触发不了 overlay 的刷新。TortoiseGit 虽然提供了“在网络驱动器上显示图标”之类的设置项但开了之后性能会明显下降因为每次刷新都要通过网络访问远端状态。即便如此仍然可能因为网络延迟、断连等问题导致图标更新慢。我的建议工作副本优先放本地盘网络盘只放仓库的远端裸仓库bare或备份目录。如果非要直接在网络盘上开发就做好“图标偶尔不显示”的心理准备别浪费太多时间在它身上。4.2 同步盘和云占位文件不是 TortoiseGit 的锅这些年越来越多的 Windows 云同步文件夹支持“按需同步”也就是本地只放一个占位文件真正的内容在云端。TortoiseGit 读取这种占位文件时会把它当成普通文件甚至可能因为读不到完整内容而认为它不属于工作副本于是不显示任何 overlay 图标。常见症状是仓库放在系统自带的云同步目录里绿色对勾时有时无而且文件图标还会出现一朵云或一个圈。这其实是两种机制在打架同步盘想省钱省空间TortoiseGit 想要完整的本地文件状态两边没法完美配合。这种问题通常没有完美的软件层面解决方案最稳妥的办法是把代码仓库移出同步目录放到纯粹的本地磁盘路径下。如果你非常依赖同步盘做备份可以用同步盘单独放一份 Git bundle 或压缩包而不是直接同步工作副本。4.3 submodule、裸仓库和大小写问题另外几种特殊路径形态也容易出现“图标消失”的误判submodule父仓库和子模块各自是独立的工作副本。TortoiseGit 对 submodule 的图标刷新经常滞后有时候你刚 clone 完子模块目录看不出任何状态图标需要进入子目录再返回或者触发一次刷新才会正常。这不是文件问题是 submodule 的显示机制本身就比较慢。bare 仓库裸仓库没有工作树只有 Git 元数据TortoiseGit 默认就不显示绿色对勾之类的状态图标这是正常现象不用修。大小写敏感Windows 文件系统默认大小写不敏感但如果你的路径某个字母大小写和.git里记录的不一致个别工具会认为这不是同一个路径导致状态检测异常。这种情况很少见但如果你试完所有常规方法都没用可以检查一下目录名大小写是否和 clone 时一致。5. 让绿色对勾稳稳活下去的经验防复发5.1 安装顺序和做减法的习惯我在后面的做法是新机器装完系统后先把 TortoiseGit 装好让它在注册表里把 overlay 键占了再去装云盘、杀毒之类同样会注册 overlay 的软件。顺序不同槽位分配结果就不同。虽然这不算什么官方建议但实测下来先装的软件在槽位争夺里有天然优势。更重要的是做减法。系统里这类带 overlay 的软件数量越少TortoiseGit 越稳定。很多软件其实可以在设置里关掉文件图标叠加功能比如网盘客户端一般有“显示角标”或“文件图标”的开关关掉之后它就不再占用 overlay 名额了。不用为了这个去卸载整个软件关掉功能就够了。5.2 减少状态图标减轻缓存压力TortoiseGit 的设置里其实没必要把每个状态都显示出来。比如“未版本控制”这个选项如果打开整个工作目录里没被 Git 跟踪的文件都会多一个加号表面上看信息更全实际体验很吵而且会显著加重后台缓存进程的负担。我现在的配置只保留Versioned、Modified、Conflicted、Added、Deleted。其他占名额又日常用不到的状态全关掉。这样做的好处有两个一是 overlay 槽位压力变小二是状态缓存进程维护的文件条目变少出现“缓存跟不上现实”的概率也低一些。偶尔你想看全局文件状态跑一遍git status就清楚了不需要靠图标。5.3 系统更新后的例行检查Windows 功能更新之后ShellIconOverlayIdentifiers 注册表项里的排序有时候会被系统组件重新洗牌新加进来的系统级 overlay 也可能挤掉 TortoiseGit 的名额。所以养成一个习惯每次 Windows 大版本更新之后如果发现图标不显示了别重装先按第 2 章的四招走一遍再看第 3 章的注册表排序。这已经成为我的固定流程大部分情况都在十分钟之内结束战斗。另外别过度相信各种“系统优化”“垃圾清理”工具。有些清理工具会把图标缓存文件连同注册表里看起来像是“无效”的 overlay 项一起清掉清完 TortoiseGit 的图标也就没了。我踩过这个坑之后凡是要动注册表的清理工具一律绕过 ShellIconOverlayIdentifiers 这个路径。5.4 终局方案把命令行走当裁判最后说点实在的。TortoiseGit 的绿色对勾毕竟只是锦上添花真正决定仓库状态的是.git目录里的内容和 Git 自身的计算逻辑。不管你图标显示成什么样git status、git diff、git log给出的答案永远是可靠的。如果你的 TortoiseGit 图标反复出问题消耗了大量精力我的建议是别跟它死磕了。用命令行查状态用编辑器里的 Git 插件看改动一样很直观。我至今保留的习惯就是每过一段时间不管图标正不正常都会在仓库根目录手动跑一次git status和git log --oneline -10用命令行的输出校准自己对仓库状态的判断。图标可以骗人但git status不会。刚才讲到的所有排查招数我用一句话总结成自己的操作口诀先刷新再重启清了图标缓存看注册表定位到抢名额的软件就关掉它的图标功能。走完这一套TortoiseGit 的绿色对勾基本就回来了。

相关新闻

彻底搞懂单链表:指针操作、核心方法与C语言实战避坑

彻底搞懂单链表:指针操作、核心方法与C语言实战避坑

写链表题你会不会也有这种感觉:看别人的代码好像全懂,自己一动手就崩,要么空指针,要么死循环,要么忘了释放内存。尤其是单链表,它不像数组那样有下标,所有操作都得靠指针一步一步走,…

2026/10/17 16:30:36 阅读更多 →
DHCP协议深度解析:从DORA交互到中继配置与安全防护实战

DHCP协议深度解析:从DORA交互到中继配置与安全防护实战

1. 为什么今天还值得把DHCP协议翻出来聊 很多人第一次接触网络配置,都是从“IP地址、子网掩码、网关、DNS”这四个框开始的。手动填过一遍的人都知道,只要有一个数字敲错,网就断了,而且排查起来极其折磨。DHCP协议就是来解决这个问…

2026/10/17 16:30:36 阅读更多 →
零基础学深度学习数学:线性代数、概率与微积分实战入门

零基础学深度学习数学:线性代数、概率与微积分实战入门

简介:《Math for Deep Learning》是Ronald T. Kneusel所著的深度学习数学入门书,2022年出版,面向已具备基础编程能力、但希望深入理解神经网络原理的读者。书中系统讲解线性代数、概率统计、微积分与优化算法,并将这些数学工具与深…

2026/10/17 16:30:36 阅读更多 →

最新新闻

内置ALC的音频前置放大器D2538A和D3308

内置ALC的音频前置放大器D2538A和D3308

应用领域D2538A和D3308是两款内置ALC(音频限幅器)的前置音频放大器芯片,其中D2538A为单通道,D3308为双通道,它特别适用于胎心仪、个人医疗防护、立体声收录机、盒式录音机等涉及音频放大与限幅的产品方案。功能介绍音频…

2026/10/17 17:26:23 阅读更多 →
FAIR风险量化实战:从模糊判断到可校准的年化损失建模

FAIR风险量化实战:从模糊判断到可校准的年化损失建模

简介:本资源是一份面向信息安全从业者、风控工程师与技术决策者的FAIR风险量化分析实战指南,聚焦解决企业级信息风险难以精准建模与量化评估的痛点。文档系统拆解FAIR框架核心要素(威胁源、脆弱性、资产、影响)、风险计算模型、蒙…

2026/10/17 17:26:23 阅读更多 →
CISSP 备考指南:八大知识域拆解与易错点复习清单

CISSP 备考指南:八大知识域拆解与易错点复习清单

简介:CISSP官方学习手册第九版是面向信息安全从业者及备考CISSP认证考生的权威参考资料,由信息安全领域专家编写,系统覆盖安全与风险管理、资产安全、安全工程、通信与网络安全、身份与访问管理、安全评估与测试、安全运营及软件开发安全等知…

2026/10/17 17:26:23 阅读更多 →
Flink + Iceberg 本地环境搭建实战:版本选型、Catalog 配置与常见问题排查

Flink + Iceberg 本地环境搭建实战:版本选型、Catalog 配置与常见问题排查

1. 为什么值得搭一套 Flink Iceberg 的本地环境大数据圈子里有个很现实的现象:很多团队用着 Hive 或者纯对象存储做数据湖,白天跑批还凑合,一到近实时场景就露馅——写入延迟高、小文件泛滥、Schema 变更要停服、回溯历史数据得全量重跑。Fl…

2026/10/17 17:26:23 阅读更多 →
OWASP Top 10实战指南:从注入防御到安全左移的开发者必修课

OWASP Top 10实战指南:从注入防御到安全左移的开发者必修课

1. 为什么每个开发者的书架上都该有一份OWASP Top 10如果你写过哪怕一个带登录功能的页面,或者调过任何一个对外暴露的接口,那你其实已经在网络安全的风险敞口里了。很多刚入行的朋友觉得“安全”是安全工程师的事,自己只要把业务逻辑跑通就行…

2026/10/17 17:26:23 阅读更多 →
Flink流处理实战:状态管理、时间语义与生产调优指南

Flink流处理实战:状态管理、时间语义与生产调优指南

1. 这不是“又一篇Flink教程”,而是一份流处理老兵的实战手记Flink流处理框架总结——这七个字背后,藏着过去五年里我参与过的12个实时数仓项目、7套IoT设备告警系统、3个金融风控实时决策链路的真实沉淀。它不是教科书式的概念罗列,也不是AP…

2026/10/17 17:25:23 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →