在同一个 repo 中存在多个分支需要同时进行开发工作,如何保证多份代码并行开发?
新增 working tree
git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]] [-b <new-branch>] <path> [<commit-ish>]
# 当前项目所在目录路径$ pwd/Users/zen/Developer/tms-web# 基于 master 分支新建 feat-8609 分支,并新建一个 worktree 目录$ git worktree add -b feat-8609 ../Temp/tms-web master# 现有 master、feat-8609 两分支,需要将 feat-8609 创建一个 worktree 目录$ git worktree add ../Temp/tms-web feat-8609# 新建 worktree 目录路径$ pwd/Users/zen/Developer/Temp/tms-web# 列出所有的 working tree 的详细资$ git worktree list/Users/zen/Developer/tms-web ff1f9e6 [master]/Users/zen/Developer/Temp/tms-web ff1f9e6 [feat-8609]
移除 working tree
# 列出所有的 working tree 的详细资料$ git worktree list/Users/zen/Developer/tms-web ff1f9e6 [master]/Users/zen/Developer/Temp/tms-web ff1f9e6 [feat-8609]# 移除一个 working tree$ git worktree remove /Users/zen/Developer/Temp/tms-web# 列出所有的 working tree 的详细资料$ git worktree list/Users/zen/Developer/tms-webff1f9e6 [master]# 若手动删除了一个 working tree(没有通过 git worktree remove)# Git 并不能识别该 working tree已删除$ git worktree prune
