PhpStorm 2026.2 Help

使用 Git 工作树

标准的 Git 仓库通常只使用一个工作树。 在此设置中切换分支时,您必须要么 提交 ,要么 暂存未完成的工作。 Git 工作树允许您在不同的目录中同时检出多个分支,并都链接到同一个 .git 目录。

什么是 Git 工作树?

Git 工作树允许您同时在不同目录中检出同一仓库的多个分支。 使用 Git 工作树的常见用例包括:

  • AI 驱动开发:在不同工作树中运行 AI 代理,防止其覆盖本地未保存的更改。

  • 紧急错误修复:在单独的目录中处理关键问题,不会中断您当前的进度。

  • 并行代码评审:本地检出和测试拉取或合并请求,而不会影响现有环境、数据库状态或构建工件。

  • 长时间运行的任务:在一个工作树中执行重型测试套件或复杂构建的同时,在另一个工作树中继续编写代码。

  • 多分支上下文切换:管理多个长时间运行的分支,无需暂存更改或在切换分支后等待大量文件的重新索引。

Git 工作树是您项目的链接副本。 与 git clone 不同,后者会创建仓库的完整副本,所有工作树共享同一个中心 .git 历史记录。

当您创建工作树时,Git 会为您的文件生成一个新目录。 该目录不是完整的 .git 文件夹,而是包含一个 .git 文件,其纯文本路径指向原始仓库。 这确保了所有工作树保持同步,同时又保持各自独立的工作环境。

主工作树中的 Git 文件夹和关联工作树中的 Git 文件

有关 Git 工作树的更多信息,请参阅 官方 Git 文档

创建和管理 Git 工作树

如果项目已有多个 Git 工作树,则默认可用 工作树 选项卡。 否则,可以在 Git 工具窗口 Alt+9 中点击 向下按钮 并选择 工作树 打开。

Git 工具窗口中包含打开 Worktrees 选项卡的选项

创建 Git 工作树

  1. Git 工具窗口 Alt+9 中,打开 工作树 选项卡并点击 新建工作树

    或者,在主菜单中选择 Git|新建工作树

    这将打开 新建工作树 对话框。

    新建 Worktree 对话框
  2. 新建工作树 对话框中,指定以下内容:

    • 从分支 :选择源分支。

      请注意,不能在两个工作树中同时检出相同的分支。 如果您希望将当前检出的分支用作新工作树的来源,可以基于该分支创建另一个本地分支并在新工作树中使用。 为此,选择 新建分支 选项。

    • 项目名称 :新工作树的名称。

    • Location :存储工作树的目录。

      避免嵌套工作树:不建议在当前项目目录下创建工作树(例如, Projects/mainProject/linkedWorktree)。 目前,PhpStorm 会将此类项目错误识别为多根项目,从而导致工作树集成失效。

创建新工作树后,PhpStorm 会将其作为独立项目打开。

在不同工作树之间切换

首次打开工作树后,它的行为与其他项目无异。 您可以在主菜单的 最近项目 或工具栏窗口头的项目微件中找到它。

要切换到一个工作树(包括那些在 PhpStorm 之外创建的),请执行以下操作:

  1. Git 工具窗口 Alt+9 中,打开 工作树 选项卡。

    或者,在主菜单中选择 Git|工作树

  2. 双击目标工作树。

    Git 工具窗口中的 Worktrees 选项卡,显示多个工作树

    根据系统设置,工作树将在新窗口或现有窗口中打开。

默认情况下, 工作树 选项卡不会显示任何活动工作树的状态。 只有当工作树输入特定状态时,状态指示器才会出现在列表中:

  • 已锁定 :该工作树被外部锁定,以防止其被移动、 删除修剪

  • 可修剪 :工作树目录已被手动从文件系统中移除。 这些记录可以安全地 修剪 ,以清理您的仓库。

删除工作树

删除工作树前,请确保已提交所有更改。

  1. Git 工具窗口 Alt+9 中,打开 工作树 选项卡。

    或者,在主菜单中选择 Git|工作树

  2. 选择工作树并点击 删除

修剪工作树

如果手动删除了工作树目录,而不是通过 IDE 删除工作树 ,Git 会检测到文件丢失并将该工作树标记为 可修剪。 修剪会移除缺失工作树的 Git 内部记录,并释放其关联的分支。

  1. Git 工具窗口 Alt+9 中,打开 工作树 选项卡。

    或者,在主菜单中选择 Git|工作树

  2. 点击 修剪

故障排查

PhpStorm 将不同的工作树视为同一个项目

如果 .idea/workspace.xml 文件已被提交到仓库,就会发生这种情况。 由于该文件包含唯一的 ProjectId ,创建新的 Git 工作树会重复该 ID。 因此,IDE 会因 ID 相同而混淆,并错误地将两个目录视为同一项目。

如何修复:

  1. 在 PhpStorm 中关闭您的项目。

  2. 进入您的 Git 工作树目录并删除 workspace.xml 文件(或者,您也可以打开该文件,仅删除 ProjectId 这一行)。

  3. 在 IDE 中重新打开项目,以便生成新的唯一 ID。

为防止再次出现此问题,请确保 .idea/workspace.xml 已加入您仓库的 .gitignore 文件中。

2026年 7月 16日