AC Workspace Manager 是一个用于管理 git worktree 的工具,主要目标是为隔离式自主开发提供工作区隔离能力。它利用 git worktree 机制,使开发者能够进行并行开发,并在不影响主分支的情况下实现安全回滚。
用途
该工具的核心用途是提供工作区隔离。通过 git worktree,每个开发任务可以在独立的工作区中进行,主分支保持稳定。这样既支持多个任务并行推进,也便于在出现问题时回滚,而不会干扰主分支上的代码。
主要能力
AC Workspace Manager 提供 WorkspaceManager 类,围绕 worktree 的生命周期提供以下操作:
- 创建 worktree:从主分支创建新的隔离工作区。
- 获取当前 worktree:查询当前所在的 worktree。
- 列出所有 worktree:查看当前存在的全部 worktree。
- 合并已完成的工作:将某个 worktree 中完成的工作合并回主分支。
- 清理 worktree:在合并完成后移除不再需要的 worktree。
使用方式
基本用法如下:
from scripts.workspace_manager import WorkspaceManager
manager = WorkspaceManager(project_dir) worktree = await manager.create_worktree("feature-auth") await manager.merge_completed(worktree)
API 调用示例:
创建新 worktree
worktree = await manager.create_worktree("build-001")
获取当前 worktree
current = await manager.get_current_worktree()
列出所有 worktree
worktrees = await manager.list_worktrees()
合并已完成的工作
await manager.merge_completed(worktree)
清理 worktree
await manager.cleanup_worktree(worktree)
完整实现可参考 scripts/workspace_manager.py。
工作流
该工具建议的工作流包括以下步骤:
- 创建:从主分支创建新的 worktree。
- 开发:所有变更都在隔离工作区中进行。
- 审查:在合并前审查变更。
- 合并:将工作合并回主分支。
- 清理:移除 worktree。
目录结构示意如下:
main branch (stable) │ ├── .worktrees/ │ ├── build-001/ ← Isolated worktree │ ├── build-002/ ← Another build │ └── build-003/ ← Parallel work │ └── project files
集成关系
AC Workspace Manager 可与以下组件配合使用:
- 被 ac-session-manager 使用,用于会话隔离。
- 使用 ac-checkpoint-manager,用于提供回滚点。
适用场景
该工具适用于需要隔离开发环境的场景,例如:
- 创建隔离工作区。
- 管理并行开发。
- 处理 worktree 生命周期。
- 合并已完成的工作。
限制
关于该工具的具体限制、平台支持范围、收费方式或价格等信息,资料中暂未提供。