Git误提交.idea与target?.gitignore配置与历史清理实战
说实话这可能是每个用IDEA的Java开发都躲不过去的一道坎某天提交代码时随手git add .然后push上去了。回头一看.idea目录和target目录全在远端仓库里躺着。我当时第一次遇到时心里凉了半截想着要不要直接把仓库删了重建。后来冷静下来研究了一圈发现这个问题不仅能解决而且从原理到操作都有很成熟的套路。这篇文章我就把自己踩坑和排查的全过程整理出来包括怎么配.gitignore、怎么把已提交的文件移出仓库、怎么防止团队里其他人再犯同样的错误。全程会穿插不少实测经验和翻车教训欢迎对号入座。1. 先搞清楚.idea和target到底是什么角色1.1 .idea目录IDEA的项目配置大脑.idea目录是IDEA为每个项目生成的配置目录。里面装的东西很杂常见的有workspace.xml、misc.xml、modules.xml、uiDesigner.xml还有对应每个模块的.iml文件。简单说IDEA打开项目时就是靠这些文件去还原窗口布局、文件编码、编译器级别、运行配置、断点位置等信息的。可这些文件里的信息并不都是适合所有人共享的。拿workspace.xml来说里面会记录你这台机器上的JDK路径、Maven仓库路径、甚至某些本地工具的绝对路径。这些路径在不同开发者的电脑上完全不一样。一旦push到远端别人拉下来就会看到你机器上的路径轻则显示一个找不到JDK的报错重则直接把本地配置给带偏。还有.idea目录里某些文件是二进制格式或包含随机ID的每次IDEA重新打开项目都可能会自动更新内容。这就导致一个很恶心的现象你只改了一行Java代码但git diff里看到的是一堆XML文件的变动review的人根本看不出哪个改动是有意义的。1.2 target目录纯构建产物随手能再生成target目录是Maven或Gradle的build目录默认的构建输出目录。编译后的.class文件、打包好的.jar、.war、生成的接口文档、测试报告、依赖拷贝全部都会塞进去。重点在于这些文件是完全可再生的。你只需要执行一次mvn clean package或者IDEA里点一下Build整个target目录就会原封不动地再出现。它从头到脚都是机器的中间产物没有任何手工编辑的价值也没有版本管理的意义。最致命的问题是体积膨胀。一个简单的Spring Boot项目build之后target目录动辄几十上百MB。如果每个人都把target提交上去仓库的体积会像滚雪球一样涨。而且target里全是二进制.class文件git无法进行增量比较每次哪怕只改一个方法整个文件都会被当作新对象存储。时间一长仓库大小、clone速度、CI拉取时间全都会遭到毁灭性打击。1.3 提交这些文件后的连锁反应可能比你想的更严重可能有人觉得大不了就是仓库大一点忍忍就过去了。真不是。我遇到过几次非常典型的连锁反应一是合并冲突频率暴涨。两个人同时改代码但各自本地IDEA生成的.idea文件内容不同一merge就冲突而且冲突的是那种看不懂的XML片段。关键这种冲突根本没有合并的必要谁对新谁对旧根本不重要但它就是会拦住你的合并流程让你花时间处理一堆噪音。二是本地环境被别人污染。如果同事的.idea里有他本地Tomcat配置、语言级别、SDK路径你拉下来之后IDEA会优先读取这些配置轻则提示SDK未找到重则直接让项目跑不起来。我见过有新人因为一个.idea里的错误language level编译期报了一堆不存在的错误查了整整一个下午。三是安全隐患。workspace.xml里可能记录本地绝对路径、环境变量、数据库连接配置等。如果是开源项目这等于把你的机器信息暴露给所有人。所以这个问题值得认真对待。下面就开始说实操方案。2. .gitignore的正确打开方式工程级规范比想象中更重要2.1 一套能直接抄作业的Java项目gitignore模板解决误提交的根本不在事后清理而在于一开始就把不该进仓库的东西挡在门外。Git提供了一个专门干这事的文件叫.gitignore放在仓库根目录。它的作用就是告诉Git“这些路径我永远不想跟踪就算你看到我执行了git add .也要自动忽略掉它们。”下面是我现在项目里在用的模板覆盖了IDEA Maven 常见操作系统杂项你可以直接复制过去按需增删# IDE - IntelliJ IDEA .idea/ *.iws *.iml *.ipr # Eclipse .classpath .project .settings/ bin/ # VS Code .vscode/ # Maven 构建产物 target/ pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next # Gradle 构建产物 build/ .gradle/ # 日志文件 *.log logs/ # 系统文件 .DS_Store Thumbs.db # 编译与临时文件 *.class *.jar *.war *.ear *.tmp # 本地配置文件 *.local这个模板的关键点有三个.idea/、target/、*.iml。前两个是本次的主角最后一个*.iml是很多人的盲区它虽然体积不大但同样包含模块依赖信息提交后一样会引发冲突。2.2 避免踩坑这些写法会让ignore直接失效模板本身不复杂但实际配置时翻车的概率极高。我整理几个见过最多的错误写法。错误一把忽略规则写成忽略整个父目录但忘了它有例外。比如你写了/target那确实能忽略根目录下的target。可如果你的模块是多级结构的比如modules/service/target那/target这种写死根目录的规则就不管用了。正确的做法是直接用target/不带斜杠开头这样git会在任意层级匹配target目录。错误二写反了反选逻辑。有些人想在忽略所有内容之后白名单某些文件比如* !src/这看起来像“先忽略所有再放开src”。但在Git里一旦某个目录被忽略git不会递归进入该目录去处理“例外规则”所以src/根本不会被放开。正确做法和坑点在这里要先提前说明你设置的忽略规则不要作用于整个仓库而只针对特定文件类型这样尽量避免用和!组合。错误三把.gitignore文件放在子目录里。Git允许在子目录放.gitignore但它的规则只对该目录及其子目录生效。如果你把它放在resources/.gitignore想让整个仓库生效那是不可能的。我在多个项目里都见过这种“局部生效”的配置看起来写了一大堆规则实际全都没覆盖到要忽略的顶层目录。错误四忽略规则写对了但文件已经被Git跟踪了。这点很多人都栽过。.gitignore只对尚未跟踪的文件生效。如果.idea和target已经被提交过你就算在.gitignore里写一万遍忽略规则也没用Git依然会继续跟踪它们。要把它们从跟踪列表里移除就需要用到下面章节的git rm --cached操作了。2.3 ignore规则写得好不好这条命令三十秒见分晓写完.gitignore别急着提交先用验证命令确认它真的生效了。Git提供了一个很实用的命令git check-ignore。比如我要确认target目录是否被忽略可以执行git check-ignore -v target/如果有输出说明忽略规则命中并且会显示是哪一行规则生效。如果没有输出说明根本没有命中需要检查规则写法。还可以在项目里创建一个测试文件来验证比如touch target/test.log git status如果.gitignore配置正确git status里应该看不到target/test.log这个文件。看到这里说明你的忽略配置基本可靠了。3. 清理战场把.idea和target从Git仓库彻底搬出去3.1 第一招git rm --cached让Git停止跟踪但保留本地文件如果.idea和target已经被push到远端第一步不是删除本地文件而是让Git“遗忘”它们。这里要用到git rm --cached它的含义是从Git索引里移除这个路径但保留工作区里的实际文件。一步步来。先在项目根目录执行git rm -r --cached .idea git rm -r --cached target-r表示递归删除目录--cached是关键表示只动索引不动磁盘文件。执行完后再把这些变更提交上去git add . git commit -m chore: remove .idea and target from version control git push这样做的效果是远端仓库里删掉了.idea和target但你和同事们本地保留的目录仍然存在IDEA照常能打开项目本地构建也不受影响。提示这一步执行前建议先确保你的git status是干净的或者你能清楚知道有哪些未提交的改动。git rm -r --cached对工作区里的改动不会造成破坏但它会改变索引状态如果不熟悉Git机制操作前最好先commit一次当前改动给自己留条退路。3.2 第二招清理历史提交里的“案底”上面那步能让仓库从现在起不再跟踪.idea和target。但如果有人clone仓库历史提交里仍然能看到这些文件。更麻烦的是仓库的.git对象库里那些历史版本依然占着大量体积。要想真正“瘦身”必须重写历史。适合小项目的方法git filter-branch这是一条正经的官方命令但用起来要小心。我实测过的一种写法是git filter-branch --force --index-filter \ git rm --cached --ignore-unmatch -r .idea target \ --prune-empty --tag-name-filter cat -- --all解释一下--index-filter会在每次commit重写时对索引执行清理命令--ignore-unmatch避免删除不存在的路径时报错--prune-empty把因为删除操作而变空的提交一并清理掉。不过我必须提醒git filter-branch在处理大仓库或大量提交时速度会比较慢而且官方文档本身就建议优先考虑用工具替代。如果你只是想把.idea和target清掉其实有个更稳的选择。推荐方法BFG Repo-CleanerBFG是专为清理大文件、敏感文件设计的工具速度比filter-branch快一个量级语法也更简单。使用前需要先把仓库clone成裸库git clone --mirror https://github.com/your/repo.git java -jar bfg.jar --delete-folders .idea --delete-folders target repo.git还可以用--delete-files *.class这类规则清理特定文件。BFG会自动改写所有历史的引用处理完后再执行git reflog expire和git gc --prunenow --aggressive把废对象彻底清掉。注意历史重写会改变所有commit的SHA值。如果你的项目有多个协作者每个人都需要按新的仓库地址强制同步一次。正确流程会放在下一节讲。3.3 历史重写后的强制推送与团队协作注意点历史重写不是本地操作完就结束了还得让远端仓库接受新的历史。因为commit的SHA变化了普通git push会被拒绝必须用--force或--force-with-lease。我强烈建议用--force-with-lease而不是裸--force。区别在于--force-with-lease会检查远端在你fetch之后没有其他人push过新提交如果有它会拒绝执行。这在多人协作时能避免覆盖别人最新的代码。具体操作git push --force-with-lease origin master如果远端仓库启用了分支保护规则限制force push就得先到仓库设置里临时关掉保护或者通过Pull Request方式把重写后的分支合入。团队同步时让每个成员执行git fetch origin git reset --hard origin/master注意这个命令会丢弃本地未推送的提交。所以一定要让团队成员先确保自己的代码已推送到远端或者提前备份。我就是疏忽过一次让同事直接reset结果他本地两天的实验性改动全没了。清理过程中我建议按下面这个顺序操作能少踩不少坑合并或关闭所有正开着的Pull Request。通知团队提交历史将被重写请暂停push。本地完成历史重写并检查结果。强制推送远端。团队成员重新clone或reset。重新开启开发流程。4. 团队层面的长期防火墙从根源上杜绝误提交4.1 用pre-commit钩子拦截垃圾文件只靠大家自觉效果其实很差。我见过太多人包括曾经的我就是习惯性git add .根本不看暂存区里有啥。这种习惯的克星是Git的钩子机制。pre-commit钩子在每次git commit之前运行如果它返回非零退出码提交就会被拒绝。可以利用这一点在钩子里检查暂存区是否包含不该出现的文件。一个简单实用的钩子脚本思路是这样的#!/bin/sh if git diff --cached --name-only | grep -E ^\.idea/|^target/ /dev/null; then echo Error: .idea or target files are staged. Commit aborted. exit 1 fi把这段脚本放到项目的.git/hooks/pre-commit然后chmod x .git/hooks/pre-commit就能生效。不过.git/hooks目录默认不会被Git跟踪所以团队里每个人都需要手动放置一次脚本。如果想共享给所有人可以把它放到项目里的scripts/目录然后写一份激活脚本或者用现成的配置管理工具比如pre-commit框架来做。4.2 在代码评审流程里多设一道人工检查技术手段防不住的时候就必须有“人的检查”兜底。在GitLab或GitHub上开Merge Request时文件变更列表里如果出现了.idea/workspace.xml或target/classes/xxx.class评审人第一眼就能看到。规范的做法是只要PR里出现构建产物或IDE配置文件的改动一律直接打回不用看其他代码。这个规则看起来很简单但实际执行时总有人会因为“改的东西很小”而放行。我的经验是把这条写进团队的Pull Request模板里。比如在模板的说明部分明确写上一行请检查变更列表中是否包含.idea、target、out、*.iml等不应纳入版本控制的文件如有请处理后重新提交。模板一写就等于把规则前置了每次提PR时作者和评审人都会被提醒一次。成本很低但减少的摩擦相当可观。4.3 一份简单的团队Git规范参考着改就行长期维护仓库整洁光靠某一个人的努力不现实。我后来在团队里推行过一份极简规范核心内容其实就三块禁止提交的内容IDE配置目录.idea/.vscode、构建产物目录target/build、二进制文件、日志文件、本地配置。推荐的命令习惯优先用git add 具体路径代替git add .添加新依赖或配置时先确认.gitignore是否正确覆盖。出现误提交的处理流程按本文第三部分的git rm --cached流程处理不需要每个人都会重写历史但要会处理“从当前开始停止跟踪”。规范文档不需要写得多长重点是能落到日常操作里。把它放到仓库的CONTRIBUTING.md或团队Wiki里新成员入职时第一周就过一遍能省掉后面大量review的麻烦。5. 常见问题与避坑技巧实录5.1 .gitignore写好了但“不生效”先查这三件事我几乎每隔一段时间就会被问到为什么我明明在.gitignore里写了target/push的时候target还是上去了按我的排查经验90%的原因逃不出下面三个原因一文件已经被Git跟踪。这是最经典的情况。.gitignore只对未被跟踪的文件生效。你必须先执行git rm --cached把文件从索引里移除然后再提交忽略规则才会开始起作用。原因二规则本级生效但目录已经“破功”。比如你在.idea目录内部放了一个.gitignore但仓库根目录的.gitignore没有忽略.idea/那当某人执行git add .时Git会根据根目录规则挺进.idea/目录然后发现内部还有一个局部规则这个局部规则可能只忽略了一部分文件剩下的一堆文件照样被跟踪。原因三规则写法与路径不匹配。要么是写成了根目录限制/target但实际模块路径在modules/xxx/target要么是用了反斜杠target\这在Git里不会生效Git的路径分隔符统一用/。排查时先用git check-ignore -v 路径看有没有规则命中再看命中的是哪一行。这一行一出来问题通常当场就暴露了。5.2 误删了.idea目录后怎么快速重建有次我为了“彻底清理”直接把本地.idea目录整个删了。结果IDEA打开项目后所有面板布局、运行配置全部丢失连项目结构识别都出了问题。后来我学乖了总结出两条恢复路径如果删完还没重启IDEA很多配置其实还在内存里直接在IDEA里重新导入项目选择pom.xmlIDEA会自动根据模块结构重新生成.idea目录和.iml文件大部分运行配置可以通过import的方式找回。如果删完了还没提交过可以看看git stash list或者用文件恢复工具抢救但成功率一般。真正可靠的备份方式是每隔一段时间把.idea里那些你觉得重要的配置截图或导出记录在团队文档里比如自定义的Run Configuration、代码模板、文件模板。其实我更推荐的做法是把需要共享的配置比如checkstyle规则、代码风格单独放到项目的config/目录里并通过插件或脚本导入IDEA。这样.idea目录就算整个删了也能很快重建出一套标准配置。5.3 git rm --cached会把本地文件删掉吗这个问题几乎每次操作都会被问一遍。答案很明确不会。git rm --cached删除的只是版本控制里的“记录”工作区里的实体文件原封不动。我特意做了个对比测试执行完git rm -r --cached target后ls target/还是能看到所有文件构建也能正常跑。只有加上-f强制删除工作区文件或者不加--cached才会真正把本地文件也删掉。所以在写教程和帮别人操作时我每次都提醒你要的是--cached少了这个参数会直接删掉工作区的文件。这个参数的杀伤力跟rm -rf差不多千万别手滑。5.4 顺手收藏这些命令关键时刻能救命最后把我实际用下来觉得最有效的一组命令整理成一个速查表放这里供参考操作目标命令将“.idea被git追踪”变为“git不再追踪”git rm -r --cached .idea将“target被git追踪”变为“git不再追踪”git rm -r --cached target检查某个路径是否被忽略以及命中哪条规则git check-ignore -v target/查看暂存区里有哪些文件适合提交前自查git diff --cached --name-only撤销最后一次提交但保留改动git reset --soft HEAD~1清理历史中的指定目录速度优先BFG Repo-Cleaner清理本地废弃对象压缩仓库体积git gc --prunenow --aggressive这几条命令配合着用基本能应对从“误提交”到“仓库瘦身”的全流程需求。最后再分享一个我自己现在的习惯每次执行git add .之前我会先跑一遍git status养成眼睛扫一下变更列表的习惯。这个习惯只需要几秒钟但能让你少踩很多坑。还有一个小技巧就是在IDEA里开启“Changes”面板的过滤视图或者直接在Settings里把.idea和target标记为“忽略的文件”这样IDEA的提交界面就不会把它们列出来了。工具会帮你挡住大多数误操作但真正让仓库保持干净的还是每个人对“什么该提交、什么不该提交”的理解。希望这篇文章能帮你省下我当年浪费的那一个下午。

相关新闻

Gitignore 实战指南:从原理到排坑,彻底解决误提交难题

Gitignore 实战指南:从原理到排坑,彻底解决误提交难题

写出一份真实、细致、可落地的gitignore实战指南,把我自己这几年在项目里踩过的坑、用过的套路、排查过的怪问题都揉进去,希望能一次讲透。很多 Git 新手都会遇到一个特别头疼的画面:辛辛苦苦写好的代码,一提交,项目里…

2026/10/9 10:40:10 阅读更多 →
小波神经网络预测太阳辐照强度:时频分析提升非平稳信号预测精度

小波神经网络预测太阳辐照强度:时频分析提升非平稳信号预测精度

简介:面向光伏发电、电力系统调度与机器学习应用领域的研究者和工程师,这是一份基于小波神经网络的太阳辐照强度预测方法论文PDF。针对太阳能间歇性、随机性带来的并网安全与负荷预测难题,内容系统展现了结合小波分析时频特性和神经网络非线性…

2026/10/9 10:40:10 阅读更多 →
DC-1靶机完整渗透实战:从Drupal漏洞利用到SUID提权

DC-1靶机完整渗透实战:从Drupal漏洞利用到SUID提权

"DC-1这台靶机,我说它是新手入坑渗透测试的‘第一课’,应该没人反对吧?"我很长一段时间都习惯拿它当教学案例,因为它不像一些高难靶机那样上来就让你抓狂,也不像纯CTF那样堆概念。DC-1考的是最基础的渗透链路…

2026/10/9 10:40:10 阅读更多 →

最新新闻

物业管理系统源码实战:Access数据库设计与C#连接部署指南

物业管理系统源码实战:Access数据库设计与C#连接部署指南

简介:面向小区物业管理人员与.NET开发者的物业管理系统源码,基于VS2010与Access数据库的C/S架构,覆盖收费管理、住户管理、房间及单价设置、通知单打印,并支持收支与住户信息的Excel批量导入导出。通知单打印采用水晶报表实现&…

2026/10/9 11:19:11 阅读更多 →
Superpowers 完整培训指南:让 AI 编程代理遵循工程纪律的 TaoToken 配置实践

Superpowers 完整培训指南:让 AI 编程代理遵循工程纪律的 TaoToken 配置实践

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

2026/10/9 11:19:11 阅读更多 →
7个可调试Hadoop MapReduce实战项目:从WordCount到PageRank

7个可调试Hadoop MapReduce实战项目:从WordCount到PageRank

简介:本资源是一套基于Hadoop生态的分布式开发实战项目集,面向计算机、人工智能、通信工程等专业的在校学生、教师及初学者,助力掌握MapReduce编程模型与HBase、HDFS核心组件的工程实践能力。包内含7个完整可运行项目:KMeans与KMe…

2026/10/9 11:19:11 阅读更多 →
C++与Java性能深度拆解:原理、实测与选型指南

C++与Java性能深度拆解:原理、实测与选型指南

C和Java的性能到底谁更厉害,这问题我几乎每隔一阵就会被人问一次。说实话,每次看到网上吵得不可开交的“C秒杀Java”“Java也不慢”之类的论战,我都觉得大家其实不在一个频道上。恰好最近热搜上又飘着“c为什么没有普遍”“java面试题”这类词…

2026/10/9 11:19:11 阅读更多 →
品味 + 工程思维:AI 时代最难被替代的两件事,TaoToken 视角下的 Agent 工程实践

品味 + 工程思维:AI 时代最难被替代的两件事,TaoToken 视角下的 Agent 工程实践

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

2026/10/9 11:19:11 阅读更多 →
树结构核心术语解析:根、父子兄弟、深度高度与路径的工程意义

树结构核心术语解析:根、父子兄弟、深度高度与路径的工程意义

1. 为什么“树”这个词在计算机里被反复提起,却没人真去种一棵?你打开任何一本算法入门书,翻到第三章,大概率会看到一个分叉的图示:一个圆圈在最上面,下面连着两个圆圈,再往下又分出更多——旁边…

2026/10/9 11:18:10 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →