☰
MARVIN并行会话:用git worktrees同时推进多条工作流
2026/10/16 12:32:12 网站建设 项目流程

【免费下载链接】marvin-template

MARVIN is your personal AI assistant that can help you connect to the apps you need and handle your day.

项目地址:https://gitcode.com/gh_mirrors/mar/marvin-template
点击查看免费下载

MARVIN 是一个个人 AI 首席参谋助手,它的并行会话能力让你借助 git worktrees 同时运行多个独立的 AI 会话:主线会话继续处理邮件、日历和每日简报,同时你可以在另一个目录里专注开发新功能或做实验性尝试,互不干扰。MARVIN 的并行会话方案不需要克隆多份仓库,几条 git 命令就能搭好完整的多任务工作流,新手也能快速上手。

为什么需要 MARVIN 并行会话?

大多数人的使用习惯是"一个会话干所有事",但这会带来两个痛点:

  • 上下文互相污染:日常事务和新功能开发混在同一个会话里,AI 容易顾此失彼
  • 不敢做实验:怕搞坏主线环境,想尝试的新思路迟迟不敢动手

💡 MARVIN 的并行会话正是为此设计的,官方建议同时存在三类会话:

会话类型运行位置分支用途
主线会话~/marvinmain日常运营:邮件、日历、简报
专注开发~/marvin-*feature/*新功能或集成开发
实验探索~/marvin-*experiment/*可能放弃的探索性工作

什么是 git worktree?一文讲懂原理

worktree 是 git 官方内置的"关联工作目录"功能:同一个仓库可以有多个检出目录,每个目录各自独立在一个分支上,但共享同一份.git历史记录。

~/marvin/ # 主工作树(main 分支) ├── .git/ # 共享的 git 数据库 ├── CLAUDE.md └── state/ ~/marvin-website/ # 新工作树(feature/personal-site 分支) ├── .git -> ~/marvin/.git # 指回主仓库 ├── CLAUDE.md └── state/

用大白话理解就是:

  • 历史共享:在一个目录提交的改动,另一个目录立刻可见
  • 工作区隔离:每个目录有自己的分支、暂存区和未提交改动
  • 零额外成本:不用 clone 第二份仓库,磁盘开销极小

一行命令创建新工作树

在你的主 marvin 目录中执行这一条命令,即可创建一个并行的工作目录:

git worktree add ../marvin-website -b feature/personal-site

MARVIN 官方文档建议保持统一命名规范(见 docs/patterns/parallel-worktrees.md):

项目命名约定示例
目录名../marvin-短名称(与主目录并列)../marvin-website
分支名feature/描述性名称feature/personal-site

更多真实场景示例:

git worktree add ../marvin-new-integration -b feature/slack-integration git worktree add ../marvin-experiment -b feature/daemon-v2

同时运行多个 AI 会话

创建好 worktree 后,打开两个终端各自启动会话即可:

终端 1: cd ~/marvin && claude # 主线:日常运营 终端 2: cd ~/marvin-website && claude # 专注:网站开发

每个并行会话都具备完整能力(见 docs/patterns/parallel-worktrees.md):

  • ✅ 拥有自己的工作目录和独立分支
  • ✅ 拥有完整的 MARVIN 上下文(能读到CLAUDE.md配置和state/状态)
  • ✅ 与主仓库共享 git 历史
  • ✅ 完成后随时可以合并回主线

MARVIN 会主动帮你创建工作树吗?

会!这是 MARVIN 的一个贴心设计:当你开始的工作属于以下情况时,MARVIN 会主动建议"要不要建一个 git worktree 单独跑一个会话?"(逻辑见 docs/patterns/parallel-worktrees.md):

  • 开发新的功能或集成
  • 做可能不会合并的实验
  • 需要隔离的独立项目
  • 工作可能与主线上的改动冲突

你不需要自己记着这套规则,MARVIN 会替你判断。

工作完成后的合并与清理步骤

功能开发完成后,回到主目录把成果合并回来,然后清理现场:

cd ~/marvin git checkout main git merge feature/personal-site git push # 清理 worktree 和分支 git worktree remove ../marvin-website git branch -d feature/personal-site

⚠️ 完整步骤可参考 docs/patterns/parallel-worktrees.md 的 Merging Back 章节。

日常管理:三条 worktree 维护命令

worktree 建多了容易忘,用这三条命令随时掌握全局:

命令作用
git worktree list查看所有工作树及其分支
git worktree remove ../marvin-xxx移除指定工作树
git worktree prune清理残留的失效引用

官方经验总结(Key Decisions)见 docs/patterns/parallel-worktrees.md:主分支永远保持稳定的"日常态",专注工作一律放分支隔离,并且——不要让 worktree 越积越多,定期跑一次git worktree list检查并做合并或丢弃。

快速上手清单

  1. 零安装:git worktrees 是 git 内置功能,打开即用
  2. 主动分流:一有专注的 feature 工作,就建一个 worktree 单独跑
  3. 统一命名:目录../marvin-xxx+ 分支feature/xxx,管理不混乱
  4. 定期清理:完成后合并或丢弃,保持工作区清爽

延伸阅读

  • 并行会话完整模式文档:docs/patterns/parallel-worktrees.md
  • MARVIN 全部高级模式索引:docs/patterns/README.md
  • MARVIN 核心配置与会话流程:CLAUDE.md

【免费下载链接】marvin-template

MARVIN is your personal AI assistant that can help you connect to the apps you need and handle your day.

项目地址:https://gitcode.com/gh_mirrors/mar/marvin-template
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询