跳至正文

终端 > 代码

Git worktrees

在 ChatGPT 中打开 ↗
向 ChatGPT 提问此页面相关内容
在 Claude 中打开 ↗
向 Claude 提问此页面相关内容
已复制!

Warp 原生支持 Git worktrees,让您可以在多个分支上同时工作,并获得完整的代码审查、代码库上下文和代理支持。

Warp 原生支持 Git worktrees — 这是一项 Git 功能,允许您在不同的目录中同时检出多个分支,所有这些分支都由同一个仓库支持。这与简单地切换分支不同:使用 worktrees,您可以同时在 main 分支上操作 ~/project,并在 feature-x 分支上操作 ~/project-wt/feature-x,无需暂存或上下文切换。

Warp 会自动检测 worktree 检出。当您在 worktree 目录中打开终端时,Warp 会识别指向主仓库的 .git 文件,并将 worktree 视为一个功能齐全的仓库

  • 代码审查面板 — 每个 worktree 都有自己的代码审查面板,显示该 worktree 分支的未提交更改。您可以在每个 worktree 中独立审查差异、恢复代码块和放弃更改。
  • Git 状态芯片 — 输入栏中的 Git 差异芯片和分支指示器会反映终端所在的 worktree 的正确分支和更改计数。
  • 文件监控 — Warp 同时监控 worktree 的工作目录和共享的 .git 目录。对共享 Git 状态的更改(例如推送到远程的新提交)将被检测并传播到所有打开的 worktrees。
  • 代码库上下文 — 每个 worktree 都为 代码库上下文 独立索引,因此代理可以在您正在使用的任何 worktree 中获得准确的上下文。
  • 仓库范围的功能 — 项目规则(AGENTS.mdWARP.md)、忽略文件和其他仓库范围的设置在每个 worktree 中都能正常工作。

Worktrees 在以下情况特别有用

  • 在处理自己的分支时审查 PR — 在单独的 worktree 中打开 PR 分支,而不会中断您正在进行的工作。
  • 在一个分支上运行测试,同时在另一个分支上编写代码 — 在一个 worktree 中运行长时间的测试套件,同时在另一个 worktree 中继续开发。
  • 并行本地代理工作 — 当在同一仓库上协调多个本地代理时,每个代理可以在自己的 worktree 中操作,以避免文件冲突。

从终端创建新的 worktree

终端窗口
# Create a worktree for an existing branch
git worktree add ../my-feature feature-branch
# Create a worktree with a new branch
git worktree add -b new-branch ../new-branch main
# List all worktrees
git worktree list
# Remove a worktree when done
git worktree remove ../my-feature

创建后,在新 Warp 标签页或窗格中打开 worktree 目录。Warp 会自动检测到它 — 无需额外配置。