32
How I Use Git Worktrees - Alex Kladov
(matklad.github.io)
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
I have started using work trees recently as well, but have a different flow to the author and everyone else. I typically use two work trees, one on main that I do all my work on. That is work and create commits directly on the main branch.
But then to push I have another clean work tree that I use to create and switch branches on then use that to create working sets of changes by cherry-picking from master into different branches to push and create PRS from. And never edit files on this work tree so that I never have to stash anything.
Then just
git pull --rebase=interactive origin/master
to remove merged commits from master as they get merged upstream. This let's me build on pending PRs or switch to other tasks at will and just sort them into separate PRs as required.I like this as when working on a feature I often find a refactoring I need to do, so can isolate that refactoring and create a PR with only that change while continuing to work on the feature on top of the PR.
Or have some temp debugging stuff locally that I want to use across changes that will end up in different PRs without having to copy paste them between branches.