小睿AI导航

ARTICLE DETAIL

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

Git worktree 可以让一个仓库同时关联多个工作目录,每个目录检出自己的分支,适合并行开发功能和修复缺陷。本文介绍创建、查看、提交、合并与清理的基本步骤,并说明工作区共享仓库对象、分支不能同时

🛠️ AI工具教程 浏览 7 2026-11-05 作者 小睿AI
📝

文章正文

样式 7 内容详情排版

阅读提示当前文章有556字,阅读完大概需要2分钟。

处理新功能时,临时插入一个紧急缺陷修复,常常意味着先保存改动、切换分支,之后再设法恢复原来的工作状态。Git worktree 可以为同一个仓库增加另一个工作目录,让功能开发和缺陷修复分别在不同目录、不同分支进行。

worktree 和切换分支有什么不同

普通的 git switch 会在当前工作目录中切换分支,工作文件随之更新;如果有未提交改动,Git 可能拒绝切换,或要求先处理这些改动。worktree 则是在仓库之外的另一个路径创建关联工作目录,每个工作目录可以检出不同分支,彼此的文件修改不会直接覆盖。

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

这些目录不是彼此独立的完整仓库副本。它们共享仓库的对象数据和分支引用等仓库信息,但各自有工作区和索引。一个仓库可以有多个工作目录,通常保留原目录作为主工作目录。

创建并查看工作目录

假设当前在项目主目录,准备在单独目录开发缺陷修复,并为它新建分支:

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

git worktree add -b fix/login-error ../project-fix main

这条命令会在 ../project-fix 创建关联工作目录,从 main 分支起点创建并检出 fix/login-error。如果分支已经存在,则可省略 -b,并指定已有分支:

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

git worktree add ../project-fix fix/login-error

查看仓库关联的工作目录及其分支:

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

git worktree list

进入新目录后,可像平常一样检查状态和编辑文件:

Git worktree怎么用?从创建并行工作目录到提交与清理的实用指南

cd ../project-fix

git status

回到原工作目录只需进入原路径;不需要用 Git 命令在不同 worktree 之间“切换”。例如,主目录继续开发功能分支,../project-fix 专门处理缺陷修复。不同代码代理也可以分别在不同工作目录中工作,但要为每个任务分配独立目录和分支,避免多个代理同时改动同一工作区中的文件。

提交并合并改动

在缺陷修复目录中完成修改后,按常规流程提交:

git add .

git commit -m