this post was submitted on 31 Jul 2025
24 points (96.2% liked)
General Programming Discussion
8852 readers
2 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
What benefits does this provide over a cloned copy of the repository?
It's more space efficient - you don't get another full copy of the repo. The worktree points back to the same .git directory.
And since it's in the same repo you can diff between branches with other worktrees without needing to setup remotes for each of them.
You can already diff between branches in a single worktree.
Yes, that's what I said.
Then why mention setting up remotes? Why would multiple worktrees help if a worktree is not necessary for the functionality?
The question I was answering was about worktrees vs. multiple clones. With multiple clones you need to setup remotes to share branches between directories. With worktrees sharing a working copy you don't.
No need for another full git history copy, nor submodules and settings.
every time i do this, i have to annotate the old copy somehow.
i usually use a date and months later i have no clue why i made the copy.
Yes, you should name directories descriptively. I don't think that's unique to repository clones.
definately not since that's the way i learned.
the problem is that a directory named master-hotfix-vgpool01-05022022 is very difficult to remember why it was created if you looked at it today.
Then clearly it was poorly named.
so what would you name it?
Something that clearly communicates its purpose.