I used git worktree add to create a new worktree. I noticed that is has created a new branch in the repo with the same name as the worktree. What is this branch for
git worktree will add a new branch if none are specified:
If
is omitted and neither-bnor-Bnor--detachused, then, as a convenience, a new branch based at HEAD is created automatically, as if-b $(basenamewas specified.)
Since Git 2.17, you can delete that branch with git worktree remove.
But, that same remove command also included:
Unclean working trees or ones with submodules can be removed with
--force.
The main working tree cannot be removed.
True... except --force was not fully implemented in Git 2.17.
With Git 2.18 (Q2 2018), "git worktree remove" learned that "-f" is a shorthand for "--force" option, just like for "git worktree add".
See commit d228eea (17 Apr 2018) by Stefan Beller (stefanbeller).
Helped-by: Eric Sunshine (sunshineco).
(Merged by Junio C Hamano -- gitster -- in commit 90186fa, 08 May 2018)
worktree: accept-fas short for--forcefor removalMany commands support a "
--force" option, frequently abbreviated as "-f".
However, "git worktree remove"'s hand-rolledOPT_BOOLforgets to recognize the short form, despitegit-worktree.txtdocumenting "-f" as supported.
ReplaceOPT_BOOLwithOPT__FORCE, which provides "-f" for free, and makes 'remove' consistent with 'add' option parsing (which also specifies thePARSE_OPT_NOCOMPLETEflag).