← 航宇的学习笔记

git worktree:一个仓库同时开几个工作目录

Git · 工作流约 2 分钟

手上的改动还没做完,又要去另一个分支修个小问题:以前要么先 stash、切分支,要么再克隆一份仓库。git worktree 让同一个仓库同时有好几个工作目录,每个目录检出不同的分支,共用一份提交历史。

常用的几条命令

# 在旁边新建一个目录,同时新建分支 fix/typo 并检出到那里
git worktree add ../proj-fix -b fix/typo

# 看看现在有哪些工作目录
git worktree list

# 用完删掉(目录里不能有没提交的改动)
git worktree remove ../proj-fix

# 手动删了目录之后,清理残留的记录
git worktree prune

需要知道的几点

我现在的习惯:长期在做的功能各占一个工作目录,临时的小修就开一个用完即删的目录,主目录保持干净。