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

Re: [PATCH 0/1] Introduce a way to create a branch and worktree at the same time

From
Duy Nguyen <pclouds@gmail.com>
Date
Mar 10, 2016, 11:51 UTC
Message-ID
<CACsJy8BA7-ev9wTt6K45TgiNxOaBUXbN1P03U4EUAzAPy=7Faw@mail.gmail.com>
In-Reply-To
<cover.1457609615.git.johannes.schindelin@gmx.de>

On Thu, Mar 10, 2016 at 6:34 PM, Johannes Schindelin <johannes.schindelin@gmx.de> wrote:

Show 8 quoted lines
> The invention of the `git worktree` command changed this developer's
> working style dramatically. Rather than switching between branches all
> the time, topic branches are created and checked out in newly-added
> worktrees, to be reworked and refined until the topic branch is either
> merged into `master` or abandoned.
>
> It gets rather tiresome, and also typo-prone, to call "git branch xyz
> upstream/master && git worktree add xyz xyz" all the time.

You can actually do "git worktree -b xyz xyz upstream/master" for the same effect. Maybe we can avoid "xyz" duplication with "-b -" or a new option name?

Show 5 quoted lines
> Hence this
> proposal: "git branch -w xyz upstream/master" to do the same.
>
> The plan is to also support "git branch -d -w xyz" once the `git
> worktree` command learned a `remove` (or `delete`) subcommand.

"git worktree remove" is coming (will be resent after -rc period). And I agree it's convenient for it to remove the branch as well because that happened to (and annoyed) me a few times. I still think it should be centered around git-worktree than git-branch though.

Show 5 quoted lines
> One possible improvement would be to add "/xyz/" to the parent
> repository's .git/info/exclude, but this developer hesitates to
> introduce that feature without the "delete" counterpart: those exclude
> entries would likely go stale very quickly. Besides, there might be a
> plan in the working to exclude worktrees automagically?

That's needed because you add a worktree inside another worktree? I know that feeling, but I've changed my layout from ~/w/git as main worktree (and ~/w/git/.git as repo) to ~/w/git as a non-worktree dir that contains all worktrees, e.g. ~/w/git/reinclude-dir, ~/w/git/worktree-config, ~/w/git/lmdb... My typical worktree add command is "git worktree add ../<some-name>" then move there and do stuff. No nested worktrees, no need to update exclude file (and no messing up emacs' rgrep command, which does not understand .gitignore anyway)

-- 
Duy
Previous: Johannes SchindelinNext: Duy Nguyen
Message 3 of 16 in “Introduce a way to create a branch and worktree at the same time”
  1. 0/1 Introduce a way to create a branch and worktree at the same timeJohannes Schindelin, Mar 10, 2016
  2. 1/1 branch: allow conveniently adding new worktrees for new branchesJohannes Schindelin, Mar 10, 2016
  3. Duy NguyenMar 10, 2016
  4. Duy NguyenMar 10, 2016
  5. Johannes SchindelinMar 10, 2016
  6. Johannes SchindelinMar 10, 2016
  7. Duy NguyenMar 11, 2016
  8. Junio C HamanoMar 11, 2016
  9. Johannes SchindelinMar 15, 2016
  10. Duy NguyenMar 15, 2016
  11. Johannes SchindelinMar 15, 2016
  12. Duy NguyenMar 15, 2016
  13. Mikael MagnussonMar 11, 2016
  14. Johannes SchindelinMar 14, 2016
  15. Johannes SixtMar 15, 2016
  16. Eric SunshineMar 10, 2016

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.