用途:smart-revert 用于回滚逻辑工作单元,而非直接回滚单个提交。它读取 plan.md 与 tracks.md,把“Task 2.1”“Phase 2”或整个 track 映射到对应的物理 Git 提交,适合重做已完成任务、回退未达标的阶段、撤销评审失败后的改动、从实现错误中恢复以及清理中断的工作。
主要能力:区分逻辑回滚(按 plan.md 定义的 track/phase/task)与物理回滚(按具体提交);通过四阶段协议工作——交互式目标选择、Git 对账、执行计划确认、执行与校验。对账阶段会从 plan.md 提取实现提交 SHA,查找后续的 plan 更新提交,定位 track 创建提交,并处理“幽灵提交”(被 rebase/squash 改写后找不到的 SHA),搜索相似提交让用户确认。它还会按最新到最旧顺序执行 git revert --no-edit <sha>,并在冲突时给出手动解决指引,检查 plan.md 状态是否已重置。基于 Git Notes 的增强流程可按功能名或任务 ID 查找并分组提交、检测依赖关系、检查回滚安全性,并整体回滚某个任务。
使用方式:由用户给出目标(如“回滚最后一个已完成任务”“/smart-revert phase 2”“回滚 dark mode 功能”或“回滚任务 #6”);若未指定,则展示候选菜单,优先进行中的 [~] 项,其次为最近完成的 [x] 项。执行前展示回滚提交清单并请求确认,执行后重新读取 plan.md 验证状态。冲突处理步骤为:编辑冲突文件,执行 git add .,再执行 git revert --continue。涉及 Git Notes 时,可调用 logical-unit-tracker.cjs 的 groupByTask、findDependencies、checkRevertSafety、revertTask、findTaskByName 等方法。
适用场景:需要按功能、任务或阶段粒度撤销改动,且提交历史经过改写、难以手工定位相关提交的仓库。
限制:资料未说明该技能支持的平台、依赖版本、收费方式与价格。禁止在未确认的情况下 force-push、hard reset 或丢弃已暂存改动;不得静默忽略幽灵提交、把 plan.md 留在不一致状态、不经特殊处理回滚合并提交。回滚前必须分析影响范围,跨多个特性时应拆分回滚,完成后须验证自动测试。性能方面资料称逻辑单元检测在 100 个提交下低于 500ms、依赖检查低于 100ms,且不影响常规 Git 操作。