**git worktree**是一个有用的Git命令,它可以让你在同一个仓库中创建和管理多个工作目录。

我碰到的一个场景是,后端依赖我一个分支测试,但是同时另一个分支又有任务,如果按正常流程是需要切分支去另一个分支的,有worktree可以同时运行两个分支,同时修改两个分支的内容

  1. 创建并检出新的工作目录:

git worktree add <目录路径> <分支/提交>

这个命令会在指定的目录路径下创建一个新的工作目录,并将其与指定的分支或提交相关联。你可以指定分支的名称,如**dev**,或使用提交的哈希值。例如:


git worktree add ../dev-worktree dev
  1. 列出所有工作目录:

git worktree list
  1. 删除工作目录:

git worktree remove <目录路径>

使用该命令可以删除指定的工作目录。例如:


git worktree remove ../dev-worktree

这将删除之前创建的名为**dev-worktree**的工作目录。

  1. 锁定工作目录:

git worktree lock <目录路径>

这个命令可以锁定指定的工作目录,防止对其进行进一步的修改和提交。你可以在需要保护工作目录的情况下使用此命令。

  1. 解锁工作目录:

git worktree unlock <目录路径>