关于 ds-revive
ds-revive 用于在更新现有 PR 前,评估其是否仍符合项目现状。它根据期间的变更收集证据,并建议恢复、重做或关闭,但不会自行关闭 PR。
主要功能
- 01记录 PR 状态、元数据和完整差异
- 02检查基分支期间的变更
- 03搜索重复解决方案
- 04评估 API 和代码是否仍适用
- 05选择 REVIVE、REWORK 或 CLOSE
- 06变基并验证恢复后的修改
适用场景
- 01更新分支前重新评估旧 PR
- 02检查新工作是否已取代某项修改
- 03确定保留 PR 目标所需的最小重写
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aicodeking/ deepseek-stack --skill ds-revive安装后在 Claude Code 中输入/ds-revive确认已加载。
详细介绍
更新思路,而不只是分支。干净地变基并不能证明这个 PR 仍然有意义。
步骤
- 获取最新的基分支、PR 头分支和所有相关分支。
- 记录 PR URL、状态、基分支、头分支、头 SHA、作者、检查结果和评审状态。阅读标题、正文、关联议题、提交、讨论串和完整差异。
- 用一句话写出 PR 的目标。
- 找到合并基点。阅读自那之后合入基分支的内容。搜索已合并和待处理的 PR,查看是否处理了同一个问题。
- 用证据(提交、PR 或文件路径)回答每个问题:
- 这个问题是否已经解决?
- 它所依赖的 API、类型、架构或结构是否发生了变化?
- 它修改的代码是否已移动、删除或简化?
- 合入后是否会恢复旧行为,或导致同一件事有两种实现方式?
- 这项收益是否仍值得后续维护?
- 选择一个结论:
- REVIVE:目标和实现形式仍然合适。继续执行第 7 步。
- REWORK:目标合适,但实现形式不合适。说明最小改写方案,然后停止,除非用户也要求进行改写。
- CLOSE:已被取代,或不再值得维护。列出证据并停止。不要自行关闭它。
- 对于 REVIVE:在记录的头分支上使用干净的工作树。将其变基到最新的基分支。根据 PR 的目标和基分支的新规则解决冲突。
- 对旧提交序列和新提交序列运行
git range-diff。确认没有丢失预期的更改,也没有恢复已合入的内容。 - 运行受影响区域的针对性检查。将每项失败标记为真实问题、原有问题或基础设施问题。
- 使用
--force-with-lease=<branch>:<old head SHA>推送。 - 先报告结论,然后说明基分支的变化、冲突、推送结果、检查结果,以及尚待决定的事项,并附上 PR 链接。
遇到以下情况时停止
- 三种结论中的任意一种报告写完后,停止。
- 如果冲突表明存在产品或设计分歧,停止并重新考虑结论。
- 如果租约检查失败,重新获取并重做第 4 至第 6 步一次。如果再次失败,报告结果。
规则
- 将有未提交更改的工作树视为用户的工作区。绝不暂存或丢弃其中的更改。
- 绝不合并、关闭 PR 或更改基分支。绝不在没有租约的情况下强制推送。
- Git 中没有冲突,不代表 PR 仍然适用。
- 将核实过的事实与判断分开说明。
- 只有在用户要求时,才通过
ds-pr-comments发布 PR 评论。
评论
支持 Markdown