Comment by matheusmoreira
2 days ago
I don't understand what you mean by "the ugliness of branches".
In my experience, branches are totally awesome. Worktrees make branches even more awesome because they let me check out multiple branches at once to separate directories.
The only way it could get better is if it somehow gains the ability to check out the same branch to multiple different directories at once.
> ability to check out the same branch to multiple different directories at once.
So you want shared object storage, but separate branch metadata. That's git clone with hardlinks, which is what Git does locally by default.
Git worktrees won't allow me to check out a branch twice though. I wonder if there's some technical limitation that prevents it.
That is, because the metadata is shared between worktrees. So you when you modify a branch in one worktree, it isn't modified per worktree, but in the whole repo. So what you need to do is to duplicate the branch metadata. That's what git clone does. You essentially have these cases:
You can checkout a commit twice though. What I don't get is what checking out a branch twice gets you. As soon as you add a single commit, these branches will be different, so why not just create another branch? Branches in git are cheap.
2 replies →