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:

  1. Be civil.
  2. 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
[–] atzanteol@sh.itjust.works 8 points 5 days ago (2 children)

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.

[–] dessalines@lemmy.ml 5 points 5 days ago

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 or target directories in place. So instead of git checkout && clean_build_dir, and having to wait to recompile, I can just cd to that dir.

[–] Tanoh@lemmy.world 2 points 4 days ago (1 children)

I usually just check out another copy in another directory, say I am working on Foo. foo/ is the dev playground and clean-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.

[–] atzanteol@sh.itjust.works 1 points 4 days ago

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.