[!NOTE] git worktree はあくまで git 管理化のリソースを複製する。 .gitignore で除外している vendor などは複製されないことに注意。

ワーキングディレクトリをブランチ単位で別のディレクトリに作成できる。

/Users/foo/github.com
   |
   |- sample
   |
   |- working
cd /Users/foo/github.com/sample
git branch
* main

git branch working
git branch
* main
working

// git worktree add  
git worktree add ../working working

ワーキングツリーの移動は cd でディレクトリを移動する。

cd ../working
git branch
* working         <------ working ブランチになっている

main ブランチに戻るときは cd ../sample でディレクトリを移動すればよい。