DataGrip 2026.2 Help

使用 Git 工作区树结构

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

什么是 Git 工作区树?

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

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

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

  • 并行代码审查:在不影响当前状态的情况下,本地检出并测试拉取请求和合并请求。

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

Git 工作区是另一个工作目录,它与同一个 Git 仓库共享,但拥有自己检出的分支。 与 git clone 不同,后者会创建仓库的完整副本,所有工作区树共享同一个中心 .git 历史记录。

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

主工作区中的 Git 文件夹和链接工作区中的 Git 文件

如需获取有关 Git 工作区树的更多信息,请参阅 官方 Git 文档

创建和管理 Git 工作区树结构

如果一个项目已经拥有多个 Git 工作区树, 工作树 选项卡将默认可用。 否则,可在 Git 工具窗口 Alt+9 中,通过点击 “下移”按钮 并选择 工作树 打开。

带有打开工作区树选项的 Git 工具窗口

创建 Git 工作区树

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

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

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

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

    • 来自分支 :选择源分支。

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

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

    • Location :存放工作区树的目录。

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

创建新工作区树后,DataGrip 会将其作为单独的项目打开。

在不同工作区树之间切换

首次打开工作区树后,其表现与其他项目相同。 您可以在主菜单的 最近的项目 ,或在窗口标题栏的工具栏中的项目小部件中找到它。

要切换到某个工作树(包括在 DataGrip 目录外创建的),请执行以下操作:

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

    或者,在主菜单中选择 Git | 工作区树结构(Worktrees)​​ or "Git | 工作树" depending on term usage, here "Git | 工作树" is clearer and fits Chinese Git terminology.

  2. 双击目标工作区树。

    Git 工具窗口中的工作区树选项卡,含多个工作区树

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

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

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

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

删除工作区树

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

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

    或者,在主菜单中选择 Git | 工作区树结构(Worktrees)​​ or "Git | 工作树" depending on term usage, here "Git | 工作树" is clearer and fits Chinese Git terminology.

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

修剪工作树

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

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

    或者,在主菜单中选择 Git | 工作区树结构(Worktrees)​​ or "Git | 工作树" depending on term usage, here "Git | 工作树" is clearer and fits Chinese Git terminology.

  2. 点击 修剪

故障排除

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

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

如何修复:

  1. 在 DataGrip 中关闭项目。

  2. 导航到 Git 工作树目录并删除 workspace.xml 文件(或者,您也可以打开该文件,只删除 ProjectId 行)。

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

为防止此问题再次发生,请确保将 .idea/workspace.xml 添加到仓库的 .gitignore 文件中。

2026年 7月 14日