Git批量删除多余本地分支:判断、命令与误删恢复
去年接手一个老项目维护第一次git branch列出来整整36个本地分支屏幕滚了两页。feature/开头的一堆里面最老的已经三个季度没动过光看名字根本想不起来当初干了什么更麻烦的是还有几个名字高度相似的分支看着像同一个功能的多次尝试。后来我整理出一套 git批量删除本地多余分支 的方法论也踩过不少坑这篇文章全部写出来送给所有和我一样面对一大串分支无从下手的开发者。先说结论批量删除本身不难难的是“怎么判断哪些分支真的多余”“怎么删才不误伤”“误删了怎么救”。所以这篇文章不是丢几个命令给你而是把判断逻辑、命令原理、分场景的操作姿势、以及我真实的踩坑和自救过程都讲清楚。不管你是刚接触 Git 的新手还是已经在项目里摸爬滚打几年的老手这篇文章都能让你清理分支的时候少一点心惊胆战。1. 本地分支为什么越攒越多先学会判断“多余”再动手1.1 三种最常见的分支堆积场景很多团队对分支没有强制清理制度默认就是“分支嘛放着又不占地方”。这话在仓库层面确实没错但在本地开发环境里分支越堆越多的真实代价是你每天都要面对的切换分支时要在一大串名字里找半天git branch的输出越来越没有参考价值偶尔还会把旧分支误当成新分支在过期代码上改半天。我见过最多的堆积场景有三种。第一种是需求迭代自然残留。开发完一个功能合并到主干然后分支就不管了。这是最普遍的几乎所有开发者都干过。第二种是探索性开发留下的多版本尝试。一个需求你试了三种实现方案分别建了feature/order-export-v1、feature/order-export-v2、feature/order-export-v3最后只有 v3 被采纳剩下两个从此躺尸。第三种更隐蔽是远程分支删了但本地追踪引用还在。别人把分支推到远程合完代码后远程分了但你本地执行git branch -a还看得到origin/feature/xxx因为你的本地仓库还没有同步“远程分支已被删除”这个事实。这三种场景堆出来的“多余分支”判断标准不完全一样。第一种看是否已合并第二种看是否还有未合并的独立提交第三种看上游分支是否已经消失。所以我不建议你看到分支多就无脑批量删除而是先建立一套自己的判断逻辑。1.2 我判断分支“可以删”的三条铁律这三条铁律是我实际删了几年分支后沉淀下来的顺序很重要先看合并状态再看上游状态最后看时间。第一条分支是否已经合并进主干。这里的“主干”指的是main或者master不是当前随便 checkout 到的哪个分支。很多被误删的分支问题就出在用当前分支而不是主干作为合并基准。一个分支的代码如果已经进了主干它留在本地的意义就基本没了如果没进主干你要么保留要么先确认里面的代码确实不需要了再删。第二条分支对应的远程引用是否还存在。用git branch -vv看一眼如果输出里出现[origin/xxx: gone]说明这个分支对应的远程分支已经被删了。这类分支大概率是已经合并完、远程清掉了但本地还没来得及清理的属于“确认可删”的高优先级对象。第三条分支的最后一次提交时间。通过git for-each-ref --sort-committerdate可以按提交时间排序查看所有本地分支。超过三个月没动过的分支除非是长期维护的稳定版本否则基本可以判定为废弃。这个时间线你可以根据自己的项目节奏调整但记住一条时间太久不等于可以删还要回看前两条因为有一种长期不动的分支可能是某个版本要长期维护的 hotfix 分支。这三条都过完才轮得到后面讲的各种批量删除命令。判断清楚“多余”之后命令层面的活反而简单了。2. 一条批量删除命令的完整拆解2.1 管道里到底发生了什么批量删除的核心命令看起来很简单大部分人复制粘贴就能用但如果你不清楚管道里每一步在干什么出了问题就会很被动。先看最基础的一条git branch --merged | grep -vE (^\*|main|master|dev|develop|release) | xargs -n 1 git branch -d这条命令由三段组成用管道符串起来。第一段git branch --merged作用是列出“已经合并进当前分支”的所有分支。注意这里有个关键点它列的是“合并进当前所在的分支”不是“合并进主干”。所以执行这条命令之前你必须先切到主干分支上否则判断基准就错了。第二段grep -vE (^\*|main|master|dev|develop|release)作用是过滤。-v表示取反-E表示扩展正则。^\*过滤掉当前分支当前分支前面会带一个星号后面几个名字过滤掉主干和常用的长期分支。这一步没做好下面就会出现两种问题把当前分支带进删除列表或者把主干分支也删了。第三段xargs -n 1 git branch -d才是真正执行删除。xargs把前面管道传来的每一行分支名作为参数传给git branch -d这条命令。-n 1表示每次只传一个参数也就是说每删一个分支单独执行一次命令。这里我特别说明一下不加-n 1也可以git branch -d能一次接收多个分支名但加上-n 1的好处是如果其中某个分支删除失败报错信息会对应到具体分支更容易定位也不会因为某个分支出错导致后续分支被跳过。2.2 Git的对象模型为什么删分支不心疼很多人不敢批量删分支是潜意识里觉得“删了东西就没了”。理解了 Git 的对象模型你就会明白删除分支这件事远没有你想的那么危险。Git 里的分支本质上只是refs/heads/目录下一个个引用文件每个文件里存着一个提交对象的哈希值。所谓“删除分支”就是把那个引用文件删掉仅此而已。分支指向的提交对象以及提交对象关联的整个历史都还静静地躺在对象库里。打个比方分支就像贴在书架上的一枚便利贴便利贴上写着第几排第几本书的位置。你撕掉便利贴书并没有消失只是少了一个快速定位的入口。Git 的reflog会保留引用曾经指向的提交记录所以误删之后还能重新找到那个提交再补一张便利贴也就是重建分支来恢复。理解了这一点你对批量删除的恐惧会小很多也会更理解后面为什么有一整个章节专门讲恢复。但这里有一个前提我要补充清楚提交对象虽然不会因为删分支而消失但如果仓库运行过git gc --prunenow这类强清理命令悬空提交会被物理抹掉。所以“删了不心疼”是相对的别因为能恢复就随便删。2.3 -d和-D的选择决定了你今晚要不要加班git branch -d和git branch -D大小写一字之差风险等级完全不同。小写的-d是安全删除。执行时 Git 会检查这个分支是否已经完全合并到当前分支。如果还没合并命令会拒绝执行并报错提示not fully merged。这个报错不是 Bug是保护机制它相当于在问你确定这个分支里的代码都不要了吗如果代码很重要只是在当前分支里看不到合并记录你应该先处理代码本身而不是强行删分支。大写的-D是强制删除跳过一切检查。不管分支有没有合并里面的代码有没有价值一律删掉。我把话说得直白一点日常清理永远默认用-d。只有当你明确知道某个分支的代码确实没有保留价值或者代码已经被通过 cherry-pick 等其他方式用到别的分支上Git 的合并判断识别不出来才考虑用-D。我见过太多人图省事直接把批量命令里的-d改成-D结果把一个还带着未合并重要提交的分支给强删了。虽然 reflog 能救但救的过程本身就很折腾而且如果在你删除之后仓库恰好做了一次 prune那就真的找不回来了。用-d的好处就是让 Git 先替你检查一遍逼你在删除之前先思考这个分支是不是真的合并完了这条铁律同样适用于后面所有批量删除场景。命令可以换但默认用-d这个习惯不要换。3. 五种工作流场景下的批量删除姿势3.1 清空所有已合并分支最常用的场景这是最常见的场景切到主干确认远程已经同步然后一把梭清掉所有已合并分支。完整流程我建议分三步走。第一步先同步远程并切到主干git fetch --prune git checkout main--prune的作用是把远程已经删除的分支对应到本地的追踪引用也顺手清掉。这里顺便提一句如果你执行git fetch时报ssh认证失败先不要急着清理分支优先检查 SSH key 是不是过期了、远程地址有没有写错环境问题不解决后面所有操作都无从谈起。第二步先看一遍将要删除的名单不要急着删git branch --merged | grep -vE (^\*|main|master|dev|develop|release)这一步输出的每一行都是 Git 认为已经合并进main的分支。你快速扫一眼看有没有名字看起来很重要、却被误判为已合并的分支。有疑问就先留着后续单独处理。第三步确认名单没问题后再执行git branch --merged | grep -vE (^\*|main|master|dev|develop|release) | xargs -n 1 git branch -d这条命令执行完之后你会看到类似Deleted branch feature/add-export (was 91e1f2a)的输出was后面就是该分支曾经指向的提交哈希留着这个信息万一后面要找回来能用得上。3.2 只清理某个前缀的分支按命名规范批量处理很多团队的分支命名是有规律的比如需求分支统一叫feature/xxx修复分支统一叫bugfix/xxx。这种情况下你可以只清理某个前缀下的已合并分支比全量清理更精准也不用担心误伤其他分支。如果你用的 Git 版本比较新可以直接用--list加通配符配合--mergedgit branch --list feature/* --merged | xargs -n 1 git branch -d这条命令的含义是列出所有feature/开头、且已经合并进当前分支的分支然后逐一删除。注意我依然用的是-d而不是-D所以即使某个feature/分支还没合并命令也会跳过它而不是强行删除。如果你更习惯传统写法也可以走 grep 路线git branch | grep feature/ | grep -vE (^\*|main|master) | xargs -n 1 git branch -d两条命令效果类似区别是第一种写法只从“已合并”分支里筛feature/第二种写法先从全部分支里筛feature/再通过-d的保护机制跳过未合并的。实际效果差不多看哪个更符合你的使用习惯。我在真实项目里用这种按前缀清理的方式比较多因为它是带“筛选条件”的删除而不是把所有已合并分支不分青红皂白一锅端。比如我有几个长期维护的稳定分支名字是release/current、release/archive-2024它们合并进main后也被--merged列出来了但你绝对不想把它们删了。用前缀筛选就能把这些长期分支排除在外。3.3 清理超过三个月没动的分支按时间维度清理有些分支既没有合并记录也没有对应的远程分支但就是躺在那里几个月不动。这种分支要不要删不能只看合并状态还要看时间。我的经验是超过三个月没动的分支十有八九是被遗忘的孤儿分支。按时间清理的标准姿势是用git for-each-refgit for-each-ref --format%(committerdate:iso8601) %(refname:short) refs/heads/ | awk -v cutoff$(date -d 90 days ago %Y-%m-%d) $1 cutoff {print $2}这条命令比前面的复杂一些我拆开解释。--format指定输出格式这里输出的是“最后一次提交时间”加“分支名”refs/heads/限定只看本地分支。awk的部分是核心先用date -d 90 days ago算出90天前的日期然后逐行比较第一列提交时间和 cutoff 的大小如果时间早于 cutoff就打印出第二列分支名。注意一个细节%(committerdate:iso8601)的第一列是YYYY-MM-DD格式cutoff也是YYYY-MM-DD格式所以字符串比较的结果就是日期比较的结果不需要额外转换。但这条命令我不建议直接管道到xargs就执行。更稳妥的做法是先把名单输出到一个文件里人工过一遍再删git for-each-ref --format%(committerdate:iso8601) %(refname:short) refs/heads/ | awk -v cutoff$(date -d 90 days ago %Y-%m-%d) $1 cutoff {print $2} /tmp/stale-branches.txt cat /tmp/stale-branches.txt xargs -n 1 git branch -d /tmp/stale-branches.txt把删除和确认分开是最稳妥的做法。因为按时间清理最大的风险是一个三个月没动的分支恰好包含了一批还没合并的重要代码——它不动不代表它没用可能只是当时做了一半被搁置了。所以这个场景下我甚至建议你把-d换成先人工排查未合并分支再用-D处理。3.4 清理远程已不存在的本地追踪分支最容易被忽略的垃圾源这一类的“多余分支”最隐蔽。别人在远程仓库上删了分支你的本地仓库不会自动知道于是本地的追踪引用就一直残留着。执行git branch -a的时候你还能看到origin/feature/xxx但实际远程已经不存在了。检查方法很简单看-vv标记里的gonegit branch -vv | grep : gone]这个输出的意思是这些本地分支的上游引用upstream已经不存在了。在大多数团队工作流里远程分支被删通常意味着代码已经合并完成、别人已经清理过了所以本地对应的分支基本也属于可删状态。执行批量清理git branch -vv | grep : gone] | awk {print $1} | xargs -n 1 git branch -d注意一个小坑awk {print $1}会取出分支名但如果当前正站在某个“gone”分支上分支名前面会带一个星号比如* old-feature。此时这个分支不会被-d删除因为你不能删除当前所在分支命令会报错但它会继续处理下一个分支。我的建议是执行前先git checkout main确保当前分支不是即将被删的对象。另外如果你只想清理追踪引用而不删除本地分支可以用git remote prune origin这条命令只清理本地的 remote 引用不碰本地分支本身。有些人对“分支本身可能还有用”没把握那就先用git remote prune把垃圾引用清掉本地分支再慢慢看情况处理。3.5 远程分支的批量删除要格外小心本地分支的批量删除再怎么说也只是影响你自己远程分支的删除会影响和你协作的每一个人。所以远程分支的清理必须单独拿出来说而且我要先把丑话说在前面远程分支的删除没有后悔药可吃reflog 救不了远程。远程分支的删除命令是这样git push origin --delete feature/xxx如果要批量删除特定前缀的远程分支可以这样git branch -r | grep origin/feature/ | sed s#origin/## | xargs -I{} git push origin --delete {}我几乎没有在真实项目里直接跑过这条批量命令不是因为它不行而是因为远程分支的删除涉及团队协调。你删之前至少要确认三件事这个分支有没有人正在用、会不会有人还在这个分支上提交、合并进主干的代码是否真的完全不需要了。任何一点没确认删了就是事故。所以远程分支的清理我的建议永远是先和同事确认再手动逐条删除绝不批量。本地分支你可以洒脱一点远程分支一定要怂一点。这条经验是用很多团队的血泪换来的。到这里五种场景的批量删除姿势都讲完了。用一张表总结一下各自的安全等级和适用场景场景核心操作危险等级建议清除已合并分支git branch --merged xargs低最常用执行前先切主干按前缀清理--list feature/* --merged低适合命名规范的团队按时间清理for-each-ref awk中先输出名单文件确认清理 gone 分支branch -vvgrep : gone]低删除远程分支push origin --delete高逐条删除先和团队确认4. 误删自救与让清理更安全的几个小习惯4.1 删错了也能救回来reflog自救流程先讲一个真实故事。有一次我在清理一个老项目的时候把一个还包含未合并重要提交的分支给强删了。当时心里一凉觉得自己白干了好几天。后来冷静下来用 reflog 花了不到三分钟就全找回来了。reflog 是 Git 给你的后悔药它记录的是“引用曾经指向哪”。当你删除一个分支时reflog 会把你删除前最后一次指向的提交记录下来。所以恢复的逻辑很简单找到被删分支最后一次指向的提交然后基于这个提交重新创建分支。第一步查看 refloggit reflog show --dateiso | head -20输出里每一行都对应一次引用变动你找到类似这样的记录8f3a2b1 HEAD{0}: Branch: renamed refs/heads/feature/xxx to refs/heads/feature/xxx或者直接在你当前分支的 reflog 里找到那个分支最后指向的提交哈希。第二步恢复分支git branch feature/xxx 8f3a2b1或者如果你希望恢复完直接切过去git checkout -b feature/xxx 8f3a2b1执行完这一句那个分支就像没删过一样回来了。后面就是常规操作切过去看代码该干嘛干嘛。但注意reflog 不是无限期保留的。默认情况下Git 会定期清理过期的 reflog 条目和悬空对象。如果你的仓库跑过一次比较激进的git gc --prunenow那些悬空提交可能已经被物理删除神仙也救不回来了。所以误删之后的第一原则是先不要做任何可能触发 gc 的操作立刻用 reflog 找。4.2 我见过最容易踩的五个坑批量删除分支的命令不难但实际用起来几乎每个人都会在这几个地方翻车。我把它们列成一张表你对照着看能少踩一半的坑。坑表现原因对策当前分支混进删除列表报错Cannot delete branch checked out没过滤^\*grep 排除星号开头不切主干直接跑--merged误删了实际上没合并的分支--merged基于当前分支判断先 checkout 主干在 cmd / PowerShell 里跑提示 xargs 不是内部或外部命令Windows 原生终端没有 xargs用 Git Bash 执行分支名含空格或特殊字符分支被拆成多个参数xargs 按空白分隔先检查分支名或加-d \n把-d随手改成-D未合并分支被强删跳过 Git 的保护检查默认用-d-D只在确认后使用第一个坑其实不算危险Git 不会真的让你删掉当前所在的分支命令会直接报错拒绝执行。但报错出现时你可能会误以为自己操作有问题于是开始乱调参数反而容易搞出更大的问题。所以最省事的方案还是一开始就加上^\*过滤。第二个坑是真正危险的一个。git branch --merged的判断基准是“当前分支”不是“主干分支”。如果你正站在一个比较新的dev分支上执行这条命令它会把所有已经合并进dev的分支列出来但这些分支可能完全没有合并进main。这时候你如果直接管道给git branch -d等于把一批代码还没进主干的开发分支全删了。整个批量删除流程里这是我唯一真正害怕出错的环节。第三个坑是环境问题。很多 Windows 用户在 cmd 或者 PowerShell 里复制命令发现xargs不存在。这是因为xargs是 Unix 工具链的一部分Git Bash 里默认有cmd 里没有。解决方案很简单在 git bash 里执行或者把xargs换成循环结构但后者明显更麻烦。第四个坑比较少见但如果你的团队有人喜欢在分支名里带空格或特殊符号批量删除时就会出妖蛾子。解决办法是删除前先检查分支名是否都合规如果有单独处理或者在 xargs 上加上-d \n按换行而不是空白分隔参数。我记得大体命令是git branch --merged | grep -vE (^\*|main|master) | xargs -d \n -n 1 git branch -d第五个坑前面已经反复强调过了这里只补一句-D应该是你深思熟虑后主动选择的选项而不是为了省事随手敲上去的。4.3 每次清理前先做的三件事一套成熟的批量删除流程不只是命令本身还包括删除前的预防性检查。我现在的习惯是每次清理前固定做三件事做完这三件事就基本可以放心删了。第一件事切到主干分支。这一步同时解决判断基准问题以及“当前分支被删”的问题。不管是main还是master先git checkout过去。如果你问我为什么不把dev、develop这些常用长期分支也切一遍我的回答是不需要只需要切到一个稳定主干即可其他长期分支我会直接用 grep 过滤掉。第二件事先看删除名单经手确认再执行。这一步能从心理上消除“我到底删了啥”的焦虑。操作方法很简单把前面任何一个批量命令里的| xargs ...去掉单独执行前半段把输出看一遍。觉得没问题再把后半段接回去执行。如果你用的命令特别复杂比如按时间清理那种那就先把名单存文件再cat出来看确认无误后从文件读入执行。多花三十秒省去几小时的恢复时间这笔账怎么算都不亏。第三件事同步远程状态。先跑一次git fetch --prune把远程分支的最新状态拉回来。这一步的作用是让本地的: gone]信息和远程真实情况保持一致避免你删了一个“本地显示已合并、但远程还没合并”的分支。远程状态不干净判断--merged和: gone]都可能失真。做完这三件事剩下的就是信任命令本身了。我在操作中还有一个体会可以分享如果你的工作流比较固定可以把最常用的批量清理命令存成一个 Git 别名减少每次手敲出错的概率。比如git config --global alias.purge !f() { git fetch --prune git checkout main git branch --merged | grep -vE (^\\*|main|master|dev|develop|release) | xargs -n 1 git branch -d; }; f以后只要执行git purge就会自动先同步远程、切到主干、列出已合并分支并清除。当然这个别名的前提是你的 path 里没有特殊的定制逻辑。如果只是偶尔清理不改别名也没什么问题。最后说说我自己的分支管理节奏。现在我的项目里分支命名固定带工单号比如feature/PLT-2231-enable-export这样批量筛选的时候一眼就能看出哪些分支属于哪个版本。每个迭代结束打 tag 之后我会集中做一次清理把本地分支数量始终控制在个位数。清理多了你就会发现最舒服的状态不是分支多到要绞尽脑汁删而是一开始就不让它们堆积起来。

相关新闻

AI Skills实操指南:从概念、安装到自研调试一次讲透

AI Skills实操指南:从概念、安装到自研调试一次讲透

写这篇文章的时候,我电脑上已经躺了二十多个 skills 文件夹了。最近这半年,Claude Code 和 Codex CLI 带火了 skills 这个概念,前端开发skills、数学建模skills、superpower skills 这些词在社区里到处刷屏。坦白说,我第一次看到 …

2026/10/2 17:52:56 阅读更多 →
从IDE到ADE:智能体开发环境如何成为新基座

从IDE到ADE:智能体开发环境如何成为新基座

这两年跟做AI应用的朋友聊天,最常被问的一句话就是:“你现在写Agent,还用之前那套IDE吗?” 说实话,这个问题放在半年前,我可能会反问一句“不然呢”,但放到现在,我会认真跟你聊一聊一…

2026/10/2 17:52:56 阅读更多 →
3分钟上手 Mac Mouse Fix:让普通鼠标丝滑滚动

3分钟上手 Mac Mouse Fix:让普通鼠标丝滑滚动

3分钟上手 Mac Mouse Fix:让普通鼠标丝滑滚动 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 外接鼠标在 Mac 上滚网页,…

2026/10/2 17:52:56 阅读更多 →

最新新闻

MATLAB卷积神经网络车牌识别:从定位分割到CNN分类实战

MATLAB卷积神经网络车牌识别:从定位分割到CNN分类实战

简介:基于 MATLAB 的卷积神经网络车牌识别工程,面向希望借助深度学习完成图像识别任务的初学者与开发者。项目覆盖车牌定位、字符分割、数据集预处理、CNN 模型训练与部署等完整流程,并配有详细说明文档与教程视频,可引导用户从零…

2026/10/2 18:17:09 阅读更多 →
OpenCV环境安装与项目实战:从零构建计算机视觉图像处理流程

OpenCV环境安装与项目实战:从零构建计算机视觉图像处理流程

如果你最近准备学计算机视觉,大概率会在推荐页刷到类似《2026 版 OpenCV 天花板教程》。这类视频课程通常有一个共同卖点:环境安装 项目实战,从零开始,最后让你直接跑出几个能看的视觉效果。说句实话,这个定位非常精准…

2026/10/2 18:17:09 阅读更多 →
锂电池SOH评估深度学习实战:充电曲线与CNN-LSTM模型

锂电池SOH评估深度学习实战:充电曲线与CNN-LSTM模型

简介:面向计算机、人工智能及相关专业学生和从业者,这套基于深度学习的锂电池健康状态(SOH)评估项目,可支撑毕业设计、课程设计、大作业或初期项目演示。项目以NASA锂电池容量衰退数据集为对象,实现了1D-CN…

2026/10/2 18:17:09 阅读更多 →
用深度学习估算锂电池SOH:从数据划分到模型部署

用深度学习估算锂电池SOH:从数据划分到模型部署

简介:这是一套基于深度学习的锂电池健康状态评估项目,内含可直接运行的Python源码与详细项目说明,面向计算机、数据科学、人工智能、电子信息等相关专业学生及从业者,适合用于毕业设计、课程设计、课程大作业或工程实践参考。项目…

2026/10/2 18:17:09 阅读更多 →
从零搭建AI工程体系:数据、训练、评估、服务与监控全链路实践

从零搭建AI工程体系:数据、训练、评估、服务与监控全链路实践

1. 从零搭建AI工程体系,为什么我劝你别一上来就调包"ai-engineering-from-scratch"这个标题,第一次看到的时候我愣了一下。市面上讲AI的文章,十篇有八篇在教你pip install几个库,然后调个API,跑个demo&#…

2026/10/2 18:17:09 阅读更多 →
前端学AI:从大模型API到Agent应用的学习路径与实战指南

前端学AI:从大模型API到Agent应用的学习路径与实战指南

说实话,这两年前端圈的人多少都有点焦虑。前几年面试问的是“你怎么优化首屏”,后来问“你怎么设计组件库”,现在面试官张嘴就问“你会不会AI”。我自己也经历过那个阶段:朋友说自己在做AI应用,我想说我也在用AI——Co…

2026/10/2 18:16:09 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05: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/2 10:36:31 阅读更多 →
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/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练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/2 6:09:11 阅读更多 →