跳至内容
GitTree
储藏室和工作树

使用工作树在多个分支上工作

工作树是同一存储库的第二个工作文件夹,具有自己的签出分支,例如 git worktree add。检查拉取请求、运行长时间构建或让编码代理在其中一个中工作,而无需在另一个中隐藏任何内容。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 管理工作树
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 存储库已打开。每个分支一次只能在一个工作树中检出。

在哪里可以找到它

  • 左侧面板的 Worktrees 部分列出了它们;右键单击它或工作树以执行操作。
  • 右键单击分支:Create Worktree for This Branch…;右键单击提交:Create Worktree from This Commit…。
行动macOSWindows 和 Linux
命令面板,然后是 Create Worktree…⌘⇧PCtrl+Shift+P

步骤

  1. 找到你的工作树

    展开左侧面板中的 Worktrees。每个工作树均按其分支列出,其文件夹名称位于其旁边; a ✓ 标记在此选项卡中打开的选项卡,而诸如 locked 或 missing 之类的标记则标记其他选项卡。

    GitTree 左侧面板的工作树部分已展开,其中列出了其工作树
    存储库的工作树,每个工作树都有已签出的分支。GitTree 与演示存储库的接口。
  2. 创建一个

    选择Create Worktree…。在 Check out 下,选择一个现有分支或带有 Branch name 的 A new branch here,然后选择带有 Browse… 的 Folder。

  3. 打开它

    按 Create Worktree,然后按 Open Worktree in a New Tab。该选项卡的工作方式与任何存储库类似:有自己的更改、终端和图表。

预期结果

两个文件夹、两个分支、一个存储库:在任一文件夹中所做的提交都会立即显示在两个图表中。

管理工作树

  • Lock Worktree… 阻止 Git 修剪可移动驱动器上保存的工作树; Unlock Worktree 将其抬起。
  • Move Worktree… 更改其文件夹; Remove Worktree… 检查该文件夹没有未提交的工作后将其删除。
  • Prune Stale Worktrees… 清理手动删除文件夹的工作树; Repair Worktree Links 修复已移动的内容。
  • 对于非常大的存储库,Sparse Checkout… 仅检查您列出的文件夹; Check Out All Files 返回。

如果出现问题

“那个分店已经签出……”

一个分支只能位于一个工作树中。打开该工作树,或者为此创建一个新分支。

“首先关闭...的选项卡”

工作树在选项卡中打开,带有终端和文件监视。关闭该选项卡,然后移动或删除它。

问题

工作树是否复制整个存储库?

不。他们共享同一个存储库及其历史记录;只有签出的文件存在两次。即使对于大型项目,创建一个也很快。