Я не могу удалить локальную ветку рабочего дерева, которая исчезла. Ключевые слова: локальный, ветка рабочего дерева и ушла. То есть вопрос Невозможно удалить несуществующую ветку? не совпадает с моим.
Это происходит, когда я пытался удалить папку рабочего дерева перед вызовом git branch -d
. Наблюдать:
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
ОБНОВЛЕНИЕ:
git worktree prune
может удалить рабочее дерево, но branch-b
все еще там:
$ 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
Как удалить branch-b
, который мне больше не нужен?
git rm repoB
, чтобы он работал как положено. - person eftshift0   schedule 23.05.2019