使用 Git 工作树概念: Actually title
标准 Git 仓库通常使用单个工作树。 要在此设置中切换分支,必须 提交或 贮藏未完成的工作。 Git 工作树允许在单独的目录中同时签出多个分支,所有这些目录都链接到单个 .git 目录。
什么是 Git 工作树?
Git 工作树允许在单独的目录中同时签出同一仓库的多个分支。 使用 Git 工作树的常见用例包括:
AI 驱动的开发:在单独的工作树中运行 AI 代理,以防止它们覆盖本地未保存的更改。
紧急错误修复:在单独的目录中处理关键问题,而不中断当前进度。
并行代码审查:在本地签出并测试拉取请求和合并请求,而不会干扰现有环境、数据库状态或构建工件。
长时间运行的任务:在一个工作树中执行繁重的测试套件或复杂构建,同时在另一个工作树中继续编写代码。
多分支上下文切换:管理多个长期运行的分支,无需贮藏更改,也无需在切换分支后等待大量文件重新编制索引。
Git 工作树是项目的链接副本。 与 git clone 不同,后者会创建仓库的完整副本,而所有工作树共享相同的中央 .git 历史记录。
创建工作树时,Git 会为文件生成一个新目录。 此目录不是一个完整的 .git 文件夹,而是包含一个 .git 文件,其中带有指回原始仓库的纯文本路径。 这可确保所有工作树保持同步,同时维持独立的工作环境。

有关 Git 工作树的更多信息,请参阅 官方 Git 文档。
创建和管理 Git 工作树
如果项目已有多个 Git 工作树,则默认提供 工作树 选项卡。 否则,可以在 Git 工具窗口 Alt+9 中通过点击 并选择 工作树 来打开它。

创建 Git 工作树
在 Git 工具窗口 Alt+9 中,打开 工作树 选项卡,然后点击
新建工作树。
或者,在主菜单中选择 。
这将打开 新建工作树 对话框。

在 新建工作树 对话框中,指定以下内容:
从分支 :选择源分支。
请注意,不能同时在两个工作树中签出同一个分支。 如果要将当前签出的分支用作新工作树的源,可以从该分支创建另一个本地分支,并在新工作树中使用它。 为此,请选择 新建分支 选项。
项目名称 :新工作树的名称。
位置 :工作树的存储目录。
避免嵌套工作树:不建议在当前项目的目录内创建工作树(例如
Projects/mainProject/linkedWorktree)。 目前,IntelliJ IDEA 会将此类项目错误识别为多根项目,从而破坏工作树集成。
创建新工作树后,IntelliJ IDEA 会将其作为单独的项目打开。
在不同工作树之间切换
工作树首次打开后,其行为与任何其他项目相同。 可以在主菜单中的 最近的项目 或窗口标头中的工具栏内的项目微件中找到它。
要切换到工作树(包括在 IntelliJ IDEA 外部创建的工作树),请执行以下操作:
在 Git 工具窗口 Alt+9 中,打开 工作树 选项卡。
或者,在主菜单中选择 。
双击目标工作树。

工作树会根据系统设置在新窗口或现有窗口中打开。
默认情况下, 工作树 选项卡不会显示任何活动工作树的状态。 只有当工作树输入特定状态时,状态指示器才会在列表中显示:
删除工作树
删除工作树之前,请确保已提交所有更改。
在 Git 工具窗口 Alt+9 中,打开 工作树 选项卡。
或者,在主菜单中选择 。
选择工作树,然后点击
删除。
修剪工作树
如果不是通过在 IDE 中 删除工作树 ,而是手动删除了工作树目录,Git 会检测到文件丢失,并将该工作树标记为 可修剪。 修剪会移除丢失工作树的 Git 内部记录,并释放它们关联的分支。
在 Git 工具窗口 Alt+9 中,打开 工作树 选项卡。
或者,在主菜单中选择 。
点击
修剪。
故障排除
- IntelliJ IDEA 将单独的工作树视为同一个项目
如果 文件被提交到您的仓库,可能会出现这种情况。 由于此文件包含唯一的
ProjectId,创建新的 Git 工作树时会重复该 ID。 因此,IDE 会因相同的 ID 而混淆,并错误地将这两个目录视为同一个项目。如何修复:
在 IntelliJ IDEA 中关闭您的项目。
导航到您的 Git 工作树目录并删除
workspace.xml文件(或者,您也可以打开该文件,只删除ProjectId行)。在 IDE 中重新打开项目,以便生成新的唯一 ID。
为防止再次发生此问题,请确保 已添加到您的仓库
.gitignore文件中。