How To Use Git Worktree To Checkout Multiple Branches At Once
• 2 min read
git worktree allows you to checkout multiple branches at the same time. It's somewhat similar to git checkout -b except that it will create the branch at a new path.
For example, running this command in your repository will create a new example-worktree folder outside of your repository and a new git branch named example-worktree
$~ git worktree add ../example-worktreeIf you have an existing branch that you want to use worktree with, you need to run the following command instead
$~ git worktree add ../example-worktree $REPLACE_WITH_EXISTING_BRANCH_NAMETo get a list of worktree
To see all available working trees that you have created, you can run
$~ git worktree listThis will print out the following outputs
/ROOT/go-projects/main-project-folder 14e218b [main]
/ROOT/go-projects/example-worktree 14e218b [example-branch]The first prefix is the worktree's folder path and the suffix is the name of the branch it's on
To remove a worktree
I would recommend you to delete a worktree once you've done using it. To delete it use the following command:
$~ git worktree remove $WORKTREE_PATH_NAMECaveats
One thing that I noticed when using worktree is that you can't checkout to the same branch that's already in worktree. For example, I can't checkout to example-branch from main branch.
Conclusion
git worktree is a pretty useful feature but I would recommend you use it sparingly. It can get confusing if you have too many worktree available. I would recommend you to remove it once you're done with it.
Hopefully you find this helpful as a quick references.