this post was submitted on 31 Jul 2025
24 points (96.2% liked)
General Programming Discussion
8810 readers
1 users here now
A general programming discussion community.
Rules:
- Be civil.
- Please start discussions that spark conversation
Other communities
Systems
Functional Programming
Also related
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
As somebody who rarely has a "pristine" working copy I love worktrees. I usually have a "project-master" worktree that's a pristine checkout of the
master
branch so I can test builds and things without interference from uncommitted and temporary files.Same. The main thing I've been liking about it for the slower compiling languages that I mainly work in (rust, android jetpack compose), is that it leaves the
build
ortarget
directories in place. So instead ofgit checkout && clean_build_dir
, and having to wait to recompile, I can justcd
to that dir.I usually just check out another copy in another directory, say I am working on Foo.
foo/
is the dev playground andclean-foo/
for a clean checkout from master.I know you can do it all with commands but I just find it easier to diff between directories or check how things are in master without touching the dev dir.
When you do that you can't compare branches in the same working copy in different directories. You need to create remotes between the two working copies and push/pull between them.
e.g. "git log --graph ..my-branch" or "git diff my-branch master" where my-branch and master are in different directories.