I cannot delete local worktree branch that is gone. The keywords are local, worktree branch, and gone. I.e., the question Cannot delete a Branch that doesn't exist? doesn't match with mine.
It happens when I tried to delete the worktree folder before calling git branch -d
. Observe:
MINGW64 /d/Tmp
$ mkdir repoA
MINGW64 /d/Tmp
$ cd repoA
MINGW64 /d/Tmp/repoA
$ git init
Initialized empty Git repository in D:/Tmp/repoA/.git/
MINGW64 /d/Tmp/repoA (master)
$ echo a > a
MINGW64 /d/Tmp/repoA (master)
$ git add .
MINGW64 /d/Tmp/repoA (master)
$ git commit -a -m'added a'
[master (root-commit) 2cff3c3] added a
1 file changed, 1 insertion(+)
create mode 100644 a
MINGW64 /d/Tmp/repoA (master)
$ git worktree add -b branch-b ../repoB master
Preparing worktree (new branch 'branch-b')
HEAD is now at 2cff3c3 added a
MINGW64 /d/Tmp/repoA (master)
$ rm -rf ../repoB
MINGW64 /d/Tmp/repoA (master)
$ git branch -d branch-b
error: Cannot delete branch 'branch-b' checked out at 'D:/Tmp/repoB'
MINGW64 /d/Tmp/repoA (master)
$ git branch -d branch-b -f
error: Cannot delete branch 'branch-b' checked out at 'D:/Tmp/repoB'
MINGW64 /d/Tmp/repoA (master)
$ git --version
git version 2.19.1.windows.1
UPDATE:
git worktree prune
can remove the worktree, but the branch-b
is still there:
$ git worktree list
D:/Tmp/repoA 2cff3c3 [master]
D:/Tmp/repoB 2cff3c3 [branch-b]
$ git worktree prune
$ git worktree list
D:/Tmp/repoA 2cff3c3 [master]
$ git branch -vv
branch-b 2cff3c3 added a
* master 2cff3c3 added a
How to remove the branch-b
that I don't want any more?