Skip to main content

Command Palette

Search for a command to run...

TIL : Git Worktree

Updated
1 min read
TIL : Git Worktree

A git repository can support multiple working trees, allowing you to check out more than one branch at a time. With git worktree you can add a new working tree that is associated with the repository, along with additional metadata that differentiates that working tree from others in the same repository. The working tree, along with this metadata, is called a "worktree".

While working on multiple branches of a codebase I have come across multiple scenarios where sometimes I am building something and have to switch branches to fix a bug on priority and send it to production. git stash is one solution but it becomes messy if you have multiple changes stashed, maintaining node modules becomes a hassle if there are different ones on different branches, worktree makes all of this work like magic !

# Create a branch-2 dir with the branch-1 checked out
git worktree add ../branch-2 branch-1

# Then simply get to work
cd ../branch-2
git fetch && git reset --hard origin/branch-1
git checkout -b branch-2

Now I can contribute to multiple branches easily and can simultaneously test out the branches without one branch impacting the other branch at all.

More from this blog

K

kaliaverse

17 posts

Shaurya Kalia is a full stack engineer who loves to code, read, travel, dance and train mixed martial arts. He writes about the same and believes in being the jack of all !