git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] doc: git-worktree: Add side by side branch checkout example

From
Michal Suchánek <msuchanek@suse.de>
Date
Oct 2, 2025, 18:46 UTC
Message-ID
<aN7IcSmHCM-BBLjH@kitsune.suse.cz>
In-Reply-To
<dd4027d1-4148-4171-bf17-b5c33881a446@app.fastmail.com>
On Thu, Oct 02, 2025 at 07:51:20PM +0200, Kristoffer Haugsbakk wrote:
Show 13 quoted lines
> On Thu, Oct 2, 2025, at 17:51, Michal Suchanek wrote:
> > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> 
> I think this could do with more setup and motivation.
> 
> I’ve seen a lot of questions on worktrees where they introduce the
> problem with “I use a bare repository with worktrees”.  And I was
> puzzled that they kept using bare repositories all the time.  I’ve
> forgotten some of those details but I do seem to remember that they were
> motivated to go all-in on making a ton of worktrees, and using the the
> “project root” to do it.
> 
> Is that what the bare-setup is getting at? ;)

It shows one way how to make a ton of worktrees without having them step on each other, hopefully avoiding this pitfall at least in some cases.

Show 28 quoted lines
> > ---
> >  Documentation/git-worktree.adoc | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/Documentation/git-worktree.adoc b/Documentation/git-worktree.adoc
> > index ec31863aec..122b191ff9 100644
> > --- a/Documentation/git-worktree.adoc
> > +++ b/Documentation/git-worktree.adoc
> > @@ -525,6 +525,16 @@ $ popd
> >  $ git worktree remove ../temp
> >  ------------
> >
> > +Side by side branch checkouts for a repository using multiple worktrees
> > +
> > +------------
> > +mkdir some-repository
> > +cd some-repository
> > +git clone --bare gitforge@someforge.example.com:some-org/some-repository .git
> > +git --git-dir=.git worktree add some-branch
> > +git --git-dir=.git worktree add another-branch
> > +------------
> 
> This works for me.  But why not this?
> 
>     git clone --bare <repo> some-repository
>     cd some-repository
>     git worktree add some-branch
>     git worktree add another-branch

I would certainly not recommend that. There is great potential for conflicting with git internal structures of the bare repository.

Thanks
Michal
Previous: Kristoffer HaugsbakkNext: Junio C Hamano
Message 38 of 44 in “What is the reason behind not hiding git worktrees from git?”
  1. Jakub T. JankiewiczSep 27, 2025
  2. Junio C HamanoSep 27, 2025
  3. Michal SuchánekSep 27, 2025
  4. Jason ChoSep 27, 2025
  5. Jason ChoSep 27, 2025
  6. Michal SuchánekSep 30, 2025
  7. Junio C HamanoSep 30, 2025
  8. Michal SuchánekNov 19, 2025
  9. Michal SuchánekSep 30, 2025
  10. Ben KnobleOct 1, 2025
  11. Junio C HamanoOct 1, 2025
  12. Sergey OrganovOct 1, 2025
  13. Junio C HamanoOct 1, 2025
  14. Jakub T. JankiewiczOct 1, 2025
  15. Junio C HamanoOct 1, 2025
  16. Eric SunshineOct 1, 2025
  17. Junio C HamanoOct 1, 2025
  18. Michal SuchánekOct 2, 2025
  19. Junio C HamanoOct 2, 2025
  20. 1/2 doc: git-worktree: Link to examplesMichal Suchanek, Oct 2, 2025
  21. Kristoffer HaugsbakkOct 2, 2025
  22. Junio C HamanoOct 2, 2025
  23. Michal SuchánekOct 2, 2025
  24. Jean-Noël AVILAOct 5, 2025
  25. Michal SuchánekOct 10, 2025
  26. 1/2 doc: git-worktree: Link to examplesMichal Suchanek, Oct 10, 2025
  27. Eric SunshineOct 11, 2025
  28. 2/2 doc: git-worktree: Add side by side branch checkout exampleMichal Suchanek, Oct 10, 2025
  29. Eric SunshineOct 11, 2025
  30. Junio C HamanoOct 23, 2025
  31. Michal SuchánekOct 24, 2025
  32. Eric SunshineOct 24, 2025
  33. Michal SuchánekNov 18, 2025
  34. Eric SunshineNov 19, 2025
  35. Junio C HamanoJan 20, 2026
  36. 2/2 doc: git-worktree: Add side by side branch checkout exampleMichal Suchanek, Oct 2, 2025
  37. Kristoffer HaugsbakkOct 2, 2025
  38. Michal SuchánekOct 2, 2025
  39. Junio C HamanoOct 2, 2025
  40. Junio C HamanoOct 2, 2025
  41. Michal SuchánekOct 2, 2025
  42. Johannes SchindelinNov 17, 2025
  43. Junio C HamanoNov 17, 2025
  44. Ben KnobleOct 2, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.