You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git中新建working tree与branch的核心区别是什么?

Git工作树(worktree)与分支概念答疑

你提到的理解修正

  • 首先纠正一个核心偏差:同一仓库下的所有工作树共享全局分支数据,不存在某个工作树「自带独立Main分支」的情况。所有分支属于仓库本身,不属于单个工作树,你在任意工作树新增、修改、删除分支,其余关联工作树都能同步看到变化。
  • 工作树的独立性体现在「工作目录内容完全隔离」:你可以在A工作树检出main分支开发新功能,同时在B工作树检出v2.0标签修复线上bug,两个工作目录的文件互不干扰,不需要你临时提交或者暂存未完成的代码。
  • 你可以在任意工作树内创建新分支,新建的分支会同步到仓库全局分支列表,其余工作树可以直接检出使用。注意Git默认不允许两个工作树同时检出同一个可写分支,避免出现提交冲突。

常用操作示例

你可以用下面几个命令快速测试工作树功能:

  1. 给当前仓库新增一个工作树,指定检出dev分支,存放目录为../workspace-dev:
    git worktree add ../workspace-dev dev
  2. 查看当前仓库关联的所有工作树:
    git worktree list
  3. 删除不再需要的工作树:
    git worktree remove ../workspace-dev

关于公开仓库示例的说明

不存在公开的「包含多工作树的Git仓库」,因为工作树是本地操作的产物,不会被提交推送到远程仓库。任意Git仓库都原生支持多工作树功能,你随便找一个已有的本地仓库,执行上面的示例命令就能直接测试使用。

内容的提问来源于stack exchange,提问作者aanhlle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 01:54:04