Files
CraftKit/plugins/git/skills/integrate/references/prepare.md
T

2.2 KiB

准备预集成分支

前置条件

  • assess 已完成且用户确认源、目标、基准方向、预集成分支名和 worktree 绝对路径。
  • 源、目标引用仍等于评估时记录的哈希。
  • 当前工作区和目标 worktree 路径没有未处理状态或归属冲突。
  • 环境配置风险已按项目规范处理;凭据风险为零。

创建、复用或关闭独立 worktree 时,同时读取 Worktree 生命周期。

隔离创建

根据项目规范决定预集成分支基于源还是目标。没有规范时说明两种历史形状,由用户选择,不能默认套用固定组织模型。

执行前展示准确的 git worktree add 命令、创建的分支和基准哈希。远程跟踪引用作为基准时避免意外设置错误 upstream。创建后在新 worktree 中复核:

git branch --show-current
git rev-parse HEAD
git status --short --branch

合并确认

再次展示当前预集成分支、待合入引用、双方哈希和准确 merge 命令,取得确认后才执行。禁止把 worktree 创建授权视为 merge 授权。

  • 无冲突:检查 merge 结果和提交图,再按项目要求运行构建、测试或静态检查。
  • 有冲突:列出 git diff --name-only --diff-filter=U,逐文件分析双方意图。
  • 语义冲突必须由用户决定,不能机械执行 checkout --ours 或 --theirs。
  • 冲突文件的 git add 和最终 merge commit 需要在展示解决方案与 staged diff 后确认。

结束复核

确认源、目标引用仍等于操作前哈希;只有预集成分支发生变化。记录 merge 提交、测试结果和未验证边界。

必须以目标引用为基准检查 git diff --check "<target>...HEAD"、git diff --stat "<target>...HEAD"、git diff --name-status "<target>...HEAD" 和 git log --oneline "<target>..HEAD"。最终文件清单包含本地配置、缓存、IDE 文件或无关需求文件时停止,不得进入交付阶段。

需要人工复核时暂时保留 worktree 并标记为 delivery-ready。用户确认仅本地交付,或完成已授权的发布后,生命周期进入 cleanup-ready,必须继续执行清理门禁。中止 merge 和删除分支不属于自动收尾。