关于工作树
Git 工作树允许你同时查看同一存储库的多个分支,每个分支都位于计算机上的自己的目录中。 这意味着你可以在功能分支上工作、快速审查另一个分支上的拉取请求,或者进行紧急修复,而无需在当前分支上暂存或提交未完成的工作。
GitHub Desktop 提供用于创建、切换、重命名和删除工作树的内置支持。 当存储库具有工作树时,“存储库”和 “分支”下拉列表之间的工具栏中会显示一个工作树下拉列表。
注意
仅在您至少有一个已链接的工作树时,Worktree 下拉列表才会显示。 若要创建第一个工作树,请使用 “存储库 ”菜单或右键单击工具栏中的 “存储库 ”下拉列表。
每个工作树都与分支(或分离的 HEAD 提交)相关联。 主工作树是你最初克隆的仓库,链接工作树则是你创建的额外检出副本。
创建工作树
可以通过右键单击工具栏中的 “存储库”下拉列表,或从 “工作树”下拉列表中(已有工作树后)从“存储库 ”菜单创建新的工作树。
创建第一个工作树
如果存储库尚未有任何链接的工作树,则工具栏中不显示 Worktree 下拉列表。 创建第一个工作树:
-
在菜单栏中,单击“ 存储库”,然后单击“ 新建工作树...”。
或者,右键单击工具栏中的 “存储库 ”下拉列表,然后单击“ 新建工作树...”。


-
在“添加工作树”对话框中,在 “工作树名称 ”字段中键入工作树的名称。
GitHub Desktop 根据输入的名称,自动确定将创建工作树的路径。 完整路径显示在对话框底部。
-
(可选)在 “分支名称 ”字段中,键入或选择分支名称。
- 如果将此字段留空,则会创建与工作树同名的新分支。
- 如果键入现有本地分支的名称,则会在新的工作树中签出该分支。
- 如果键入远程分支的名称,则会从远程引用创建新的本地分支。


-
单击“ 创建工作树”。
创建第一个链接的工作树后, “工作树 ”下拉列表将显示在工具栏中。
创建额外的工作树
一旦 “工作树 ”下拉列表可见,还可以从那里创建工作树:
-
在存储库栏中,单击 “工作树 ”下拉列表。


-
单击“ 新建工作树”。
-
完成“添加工作树”对话框中的字段,如 创建第一个工作树中所述,然后单击“ 创建工作树”。
GitHub Desktop 创建工作树并自动切换到它。
在工作树之间切换
您可以随时切换不同的工作树。 切换工作树时, GitHub Desktop 将工作目录更新为所选工作树的路径。
-
在存储库栏中,单击 “工作树 ”下拉列表。
-
在工作树列表中,单击要切换到的工作树。

工作树列表分为“主工作树”和“链接的工作树”。 每个项显示工作树目录名称和关联的分支名称。 可以使用列表顶部的筛选器字段按名称搜索工作树。
重命名工作树
可以重命名已链接的工作树。 不能重命名主工作树。
-
在存储库栏中,单击 “工作树 ”下拉列表。
-
右键单击要重命名的工作树,然后单击“ 重命名...”。


-
在“重命名工作树”对话框中,键入工作树的新名称。
-
单击“重命名”。
删除工作树
可以删除不再需要的链接工作树。 无法删除主工作树,也无法删除 Git 为防止其被删除而锁定的工作树。
-
在存储库栏中,单击 “工作树 ”下拉列表。
-
右键单击要删除的工作树,然后单击“ 删除...”。
-
在确认对话框中,单击“ 删除”。
(可选)选择“ 不要再次显示此消息 ”以跳过将来的此确认。 可以在首选项中重新启用确认。 请参阅 配置删除工作树的提示。


如果删除失败(例如,因为工作树包含未提交的更改), GitHub Desktop 则显示错误对话框以强制删除工作树。 如果你取消操作,GitHub Desktop 会将你切换回你最初正在使用的工作树。
配置删除工作树的提示
在删除工作树之前,可以选择是否 GitHub Desktop 要求确认。
-
在菜单栏中,选择“GitHub Desktop”,然后单击“设置”********。

-
在“设置”窗口中,单击“ 提示”。
-
选中或取消选中 “删除工作树 ”复选框以启用或禁用确认提示。
-
使用文件”菜单,然后单击“选项” 。

-
在“选项”窗口中,单击“ 提示”。
-
选中或取消选中 “删除工作树 ”复选框以启用或禁用确认提示。
延伸阅读
- 在 GitHub Desktop 中管理分支
- Git 文档中的 git-worktree