Skip to main content

在 GitHub Desktop 中管理工作树

工作树让你可以同时在同一仓库的多个分支上工作,因此你可以切换工作上下文、审查更改或进行热修复,而无需先将当前工作暂存起来。

Platform navigation

关于工作树

Git 工作树允许你同时查看同一存储库的多个分支,每个分支都位于计算机上的自己的目录中。 这意味着你可以在功能分支上工作、快速审查另一个分支上的拉取请求,或者进行紧急修复,而无需在当前分支上暂存或提交未完成的工作。

GitHub Desktop 提供用于创建、切换、重命名和删除工作树的内置支持。 当存储库具有工作树时,“存储库”和 “分支”下拉列表之间的工具栏中会显示一个工作树下拉列表。

注意

仅在您至少有一个已链接的工作树时,Worktree 下拉列表才会显示。 若要创建第一个工作树,请使用 “存储库 ”菜单或右键单击工具栏中的 “存储库 ”下拉列表。

每个工作树都与分支(或分离的 HEAD 提交)相关联。 主工作树是你最初克隆的仓库,链接工作树则是你创建的额外检出副本。

创建工作树

可以通过右键单击工具栏中的 “存储库”下拉列表,或从 “工作树”下拉列表中(已有工作树后)从“存储库 ”菜单创建新的工作树。

创建第一个工作树

如果存储库尚未有任何链接的工作树,则工具栏中不显示 Worktree 下拉列表。 创建第一个工作树:

  1. 在菜单栏中,单击“ 存储库”,然后单击“ 新建工作树...”

    或者,右键单击工具栏中的 “存储库 ”下拉列表,然后单击“ 新建工作树...”

    Mac 上“存储库”下拉菜单的屏幕截图。 “新建工作树”选项以蓝色突出显示。

    Windows上“存储库”下拉菜单的屏幕截图。 “新建工作树”选项以蓝色突出显示。

  2. 在“添加工作树”对话框中,在 “工作树名称 ”字段中键入工作树的名称。

GitHub Desktop 根据输入的名称,自动确定将创建工作树的路径。 完整路径显示在对话框底部。

  1. (可选)在 “分支名称 ”字段中,键入或选择分支名称。

    • 如果将此字段留空,则会创建与工作树同名的新分支。
    • 如果键入现有本地分支的名称,则会在新的工作树中签出该分支。
    • 如果键入远程分支的名称,则会从远程引用创建新的本地分支。

    Mac 上“添加工作树”对话框的屏幕截图,其中显示了名称、路径和分支字段。

    Windows上的“添加工作树”对话框的屏幕截图,其中显示了名称、路径和分支字段。

  2. 单击“ 创建工作树”。

创建第一个链接的工作树后, “工作树 ”下拉列表将显示在工具栏中。

创建额外的工作树

一旦 “工作树 ”下拉列表可见,还可以从那里创建工作树:

  1. 在存储库栏中,单击 “工作树 ”下拉列表。

    Mac 上工作树下拉列表的屏幕截图。 在展开的“工作树”下拉列表中,“新建工作树”按钮以蓝色突出显示。

    Windows上工作树下拉列表的屏幕截图。 在展开的“工作树”下拉列表中,“新建工作树”按钮以蓝色突出显示。

  2. 单击“ 新建工作树”。

  3. 完成“添加工作树”对话框中的字段,如 创建第一个工作树中所述,然后单击“ 创建工作树”。

GitHub Desktop 创建工作树并自动切换到它。

在工作树之间切换

您可以随时切换不同的工作树。 切换工作树时, GitHub Desktop 将工作目录更新为所选工作树的路径。

  1. 在存储库栏中,单击 “工作树 ”下拉列表。

  2. 在工作树列表中,单击要切换到的工作树。

    显示“主工作树”和“链接工作树”分组的工作树下拉菜单截图,活动工作树旁带有勾选标记。

    工作树列表分为“主工作树”和“链接的工作树”。 每个项显示工作树目录名称和关联的分支名称。 可以使用列表顶部的筛选器字段按名称搜索工作树。

重命名工作树

可以重命名已链接的工作树。 不能重命名主工作树。

  1. 在存储库栏中,单击 “工作树 ”下拉列表。

  2. 右键单击要重命名的工作树,然后单击“ 重命名...”

    Mac 上工作树项的上下文菜单的屏幕截图,其中包含“重命名”、“复制名称”、“复制路径”和“删除”选项。

    Windows工作树项的上下文菜单的屏幕截图,其中包含“重命名”、“复制名称”、“复制路径”和“删除”选项。

  3. 在“重命名工作树”对话框中,键入工作树的新名称。

  4. 单击“重命名”。

删除工作树

可以删除不再需要的链接工作树。 无法删除主工作树,也无法删除 Git 为防止其被删除而锁定的工作树。

  1. 在存储库栏中,单击 “工作树 ”下拉列表。

  2. 右键单击要删除的工作树,然后单击“ 删除...”

  3. 在确认对话框中,单击“ 删除”。

    (可选)选择“ 不要再次显示此消息 ”以跳过将来的此确认。 可以在首选项中重新启用确认。 请参阅 配置删除工作树的提示

    Mac 上“删除工作树”确认对话框的屏幕截图,其中显示了“不再显示此消息”复选框。

    Windows上“删除工作树”确认对话框的屏幕截图,其中显示了“不再显示此消息”复选框。

    如果删除失败(例如,因为工作树包含未提交的更改), GitHub Desktop 则显示错误对话框以强制删除工作树。 如果你取消操作,GitHub Desktop 会将你切换回你最初正在使用的工作树。

配置删除工作树的提示

在删除工作树之前,可以选择是否 GitHub Desktop 要求确认。

  1. 在菜单栏中,选择“GitHub Desktop”,然后单击“设置”********。

    Mac 上的菜单栏的屏幕截图。 在打开的“GitHub Desktop”下拉菜单下,光标悬停在“设置”上,该设置以蓝色突出显示。

  2. 在“设置”窗口中,单击“ 提示”。

  3. 选中或取消选中 “删除工作树 ”复选框以启用或禁用确认提示。

  1. 使用文件”菜单,然后单击“选项” 。

    Windows 上的“GitHub Desktop”菜单栏的屏幕截图。 在展开的“文件”下拉菜单中,以橙色框出了“选项”项。

  2. 在“选项”窗口中,单击“ 提示”。

  3. 选中或取消选中 “删除工作树 ”复选框以启用或禁用确认提示。

延伸阅读