用途:正确处理依赖/堆叠 PR(child PR 基于 parent PR 分支)以及同一改动需同时落在默认分支与发布/生产分支的多基线场景。
主要能力与用法: 堆叠 PR:自下而上更新,先更新父分支/PR,再将子分支 rebase 到更新后的父分支(不是默认分支),禁止只把 main 合并进叶子;逐层推送,保持每个 PR 的 base 指向其下一层。 多基线:先从仓库规则确认所需目标分支;改动落地一次后,将完全相同的代码 cherry-pick/移植到另一基线并另开 PR;两个 PR 代码保持一致,并在描述中互相标注;重复 PR 视为新的评审对象,需请求原作者/团队评审,使用仓库的待人工/代码评审标签,不得沿用兄弟 PR 的 QA 通过或开发者勾选,发布 PR 需自身明确的开发者批准;更新后核对 assignee、review request 与标签。 改分支前估算集成:拉取真实上游默认分支与各依赖 head,比较祖先关系以避免重复导入已含修复;用 git merge-tree --write-tree --name-only <base> <head> 在不改动 checkout/index 的情况下预估冲突,冲突数仅表示文本集成范围,不代表自动合并代码正确;调和旧 UI 工作时保留上游安全与 profile 路由行为,不要用 ours/theirs 整文件解决来消除标记;区分更新本地克隆与发布 fork 默认更新。 MR 增量修复防护:worktree 测试直接调用固定 Node 可执行文件并在命令上设 NODE_PATH 指向该 worktree 的 mr_modules,先验证 process.execPath 与 require.resolve('MRUtils');针对合并提交自身的 base 检查有效 diff,而非仅 HEAD;lint-staged 可能改写无关代码,应运行定向 lint/测试并使用按次调用的 hook 覆盖,而非改仓库 hook 配置;按两种执行顺序调和 CMS 迁移组合,保留对外部编辑/暂存批量拒绝,退役旧路由前核实已发布记录。
不要:通过把默认分支合并进子分支来压平堆栈;让两个基线的 PR 相互漂移;完成时未列出堆栈中每个 PR/MR 链接。
限制:资料未提供安装命令、平台支持、收费与效果数据,暂未提供。