Git worktree(工作树)

worktree 工作树

简介

重新给分支/提交一个新的工作区域,且原工作区无法在switch到那个分支,只有释放了才行
新增一个工作树之后,

  1. 原仓库目录的.git文件夹中产生一个worktree的文件夹,里面放置着相关的数据,
  2. 新工作树的目录中没有.git文件夹,而是有一个.git的文件

用法

  1. git worktree list [--porcelain]

    • $ git worktree list 查看工作区
    • $ git worktree list --porcelain 查看更详细的工作区
  2. git worktree add [-f|--force] [-c|--checkout] [--lock] [-b <new-branch>] <path> [<commit-ish>]

    • $ git worktree add ../path master 从master分支开出一个树分支
    • $ git worktree add ../path master -b bug_fix
  3. git worktree prune [-n] [-v] [--expire <expire>]

    • 清理工作树(工作目录人为删除后 使用list命令后,工作树后面会出现prunable字样),
    • $ git worktree prune
  4. git worktree remove [-f] <worktree>

    • $ git worktree remove ../path 移除树分支
    • $ git worktree remove -f ../path 强制移除树分支
  5. git worktree lock [--reason <string>] <worktree>

    • 锁定工作树,防治一些外界因素导致git定期清理掉工作树了,比如外置硬盘
    • $ git worktree lock ../path
  6. git worktree unlock <worktree>

    • $ git worktree unlock ../path
  7. git worktree move <worktree> <new-path>

    • 移动工作树到新的目录中
  8. git worktree repair [<path>...]

    • 修复工作树,(如果新工作树中无法正常指向原仓库,可试着在原仓库中执行该命令修复它)

帮助

$ git help worktree

posted @ 2022-10-27 12:21  古龙•历山大亚  阅读(178)  评论(0编辑  收藏  举报