Git WorktreeThu, Jan 7, 2016
I was reading the New Year, new GIT release post from GitHub a
couple days ago, and it was highlighting some new features in git
2.7.0. The one that really caught my eye was a small improvement to
git worktree (introduced in 2.5.0). Being that I was completely
git worktree prior to reading that, this minor
improvement was a light bulb moment for me.
Many times, I have re-cloned a remote repo to have clean local
worktree to work on, so as not to interrupt a long-running development
task in another branch.
git worktree addresses that problem by
allowing you to create multiple working trees from a single local
repository. It’s faster (no remote fetching for additional working
trees), smaller on disk (eliminate multiple copies of all the repo
history), and easier to keep all your trees in sync, as there’s only
one local repo for all the work trees. So, fetching changes in one
tree allows those changes to be visible in all trees.
Check out the worktree manpage for more details on usage and caveats (not recommended to use with submodules!).