Workspace Git Foundation:再也不用担心切换分支丢失上下文

2026/03/18

核心要点:Refresh Agents 现在支持 Workspace Git Foundation —— 隔离的 Git 环境,让你可以同时处理多个功能,无需 git stash,不会有上下文切换的痛苦,也不会丢失未提交的工作。


问题:Git 上下文切换太痛苦

每个开发者都经历过这种挫败感:

# 你正在深度开发功能,有未提交的修改
$ git status
Modified: src/auth.ts (修改了 50)
Modified: src/api.ts (修改了 30)

# 突然:主分支需要紧急修复 bug
$ git checkout main
error: 你的本地修改会被覆盖。
请在切换分支前提交或 stash 你的修改。

# 繁琐的操作开始了...
$ git stash
$ git checkout main
$ git checkout -b hotfix/urgent-bug
# ... 修复 bug ...
$ git checkout feature-branch
$ git stash pop
# ... 祈祷不要冲突 ...

这个工作流是有问题的。 你会丢失思维上下文,可能遇到合并冲突,还要浪费时间管理 stash。


解决方案:Workspace Git Foundation

有了 Workspace Git Foundation,Refresh Agents 中的每个对话都有自己的隔离 Git 工作空间

对话 A → Workspace A → feature/authentication
  ├─ 分支: feature/authentication
  ├─ Worktree: .worktrees/workspace-a/
  └─ 状态: 3 个未提交文件,领先 2 个提交

对话 B → Workspace B → feature/dashboard
  ├─ 分支: feature/dashboard
  ├─ Worktree: .worktrees/workspace-b/
  └─ 状态: 干净,领先 5 个提交,PR #42 已打开

对话 C → Workspace C → hotfix/urgent-bug
  ├─ 分支: hotfix/urgent-bug
  ├─ Worktree: .worktrees/workspace-c/
  └─ 状态: 1 个提交,准备合并

不再需要 git stash。不再需要上下文切换。不再丢失工作。


工作原理

1. 自动创建 Workspace

当你创建新对话时:

  1. Refresh 自动创建专用的 Git 分支
  2. .worktrees/ 目录创建独立的 worktree
  3. 独立跟踪分支状态、PR 状态和冲突

2. 物理目录隔离

每个 workspace 都有自己的物理目录:

your-project/
├── .git/                    # 主仓库
├── src/                     # 主分支文件
└── .worktrees/
    ├── workspace-a/         # 对话 A 的隔离目录
    │   └── src/             # 独立的文件状态
    ├── workspace-b/         # 对话 B 的隔离目录
    │   └── src/             # 不同的文件状态
    └── workspace-c/         # 对话 C 的隔离目录
        └── src/             # 又一个文件状态

在对话间切换 = 在 workspace 间切换。 不需要 git checkout

3. 智能推荐

Refresh 分析你的 workspace 状态并推荐下一步操作:

  • 有未提交的修改? → "提交修改"
  • 领先远程分支? → "推送到远程"
  • 落后目标分支? → "同步主分支"
  • 准备交付? → "创建 Pull Request"
  • 检测到冲突? → "解决冲突"

不再需要猜测下一步该做什么。

4. 自动恢复

不小心删除了 worktree 目录?没问题。

Refresh 检测到丢失的 workspace 并提供一键恢复

⚠️ Workspace 丢失
你的 workspace 目录被删除或移动了。

[恢复 Workspace] [归档对话]

点击"恢复",Refresh 会从你的分支重新创建 worktree。


真实使用场景

场景 1:并行功能开发

情况:你正在开发认证功能(对话 A),产品经理让你做一个仪表盘原型(对话 B)。

传统 Git

$ git stash                    # 保存认证工作
$ git checkout -b dashboard    # 新分支
# ... 开发仪表盘 ...
$ git checkout auth-branch     # 回到认证
$ git stash pop                # 恢复认证工作

使用 Workspace

  1. 创建对话 B → Workspace B 自动创建
  2. 在对话 B 中开发仪表盘
  3. 切换回对话 A → 认证工作还在,未被触碰

节省时间:每次上下文切换 ~5 分钟 × 每天 10 次 = 每天 50 分钟

场景 2:不丢失工作的热修复

情况:你在功能分支有 50 行未提交的代码。生产环境需要立即修复 bug。

传统 Git

$ git stash                    # 祈祷不出问题
$ git checkout main
$ git checkout -b hotfix
# ... 修复 bug ...
$ git checkout feature
$ git stash pop                # 希望不冲突

使用 Workspace

  1. 为热修复创建对话 C → 新 workspace 自动创建
  2. 在对话 C 中修复 bug
  3. 切换回对话 A → 你的 50 行未提交代码还在

压力水平:📉 零焦虑

场景 3:不中断工作的代码审查

情况:你在开发功能时需要审查一个 PR。

传统 Git

$ git stash
$ git fetch origin pull/123/head:pr-123
$ git checkout pr-123
# ... 审查代码 ...
$ git checkout feature
$ git stash pop

使用 Workspace

  1. 为 PR 审查创建对话 D → Workspace D 自动创建
  2. 在对话 D 中审查代码
  3. 切换回对话 A → 功能开发工作未被触碰

多仓库支持

在 monorepo 或多仓库项目中工作?Workspace 支持单个 workspace 中的多个仓库

Workspace A
├─ 仓库: frontend (feature/new-ui)
├─ 仓库: backend (feature/new-api)
└─ 仓库: shared (feature/types)

所有仓库在同一个 workspace 中保持同步。不再需要管理多个终端窗口。


性能与清理

自动垃圾回收

Workspace 在 72 小时不活动后自动清理:

  • 活跃的 workspace:无限期保留
  • 固定的 workspace:保留 7 天
  • 归档的 workspace:1 小时后清理

磁盘空间

Worktree 对未修改的文件使用硬链接,所以磁盘占用很小:

  • 主仓库:500 MB
  • 3 个 worktree:+50 MB(仅修改的文件)

架构亮点

对于技术爱好者,这里是 Workspace Git Foundation 的健壮性保证:

1. 状态机设计

Workspace 生命周期由状态机管理:

creating → ready → missing → recovered

              failed → retry

2. 快照 + 实时检查

  • 快照:缓存的分支状态,用于快速 UI 更新
  • 实时检查:打开对话时的实时 Git 状态

3. 冲突检测

Refresh 在以下操作中检测冲突:

  • Rebase 操作
  • Merge 操作
  • Cherry-pick 操作

并提供一键解决UI。


立即开始

步骤 1:更新到最新版本

# macOS
brew upgrade refresh-agents

# 或从官网下载
https://refresh-agents.com/download

步骤 2:创建新对话

  1. 打开 Refresh Agents
  2. 点击"新建对话"
  3. 选择你的项目文件夹

就这样。 你的第一个 workspace 自动创建了。

步骤 3:探索 Workspace 状态栏

在对话顶部,你会看到:

🌿 feature/chat-abc123  │  ↑2 ↓1 ●3  │  PR #42
  • 🌿 分支名
  • ↑2:领先 2 个提交
  • ↓1:落后 1 个提交
  • ●3:3 个未提交文件
  • PR #42:关联的 pull request

下一步计划

我们才刚刚开始。以下是即将推出的功能:

  • Workspace 模板:常见工作流的预配置设置
  • Workspace 共享:与团队成员共享 workspace
  • 云同步:跨设备同步 workspace
  • VS Code 集成:直接在 VS Code 中打开 workspace

立即试用

Workspace Git Foundation 现已在 Refresh Agents v0.1.0+ 中可用。


反馈?

我们很想听听 Workspace Git Foundation 如何改善你的工作流:


再也不会丢失上下文。立即开始使用 Workspace Git Foundation。 🚀

Refresh 团队

Refresh 团队

Workspace Git Foundation:再也不用担心切换分支丢失上下文 | 博客