即使在删除工作树和运行worktree修剪后也无法签出分支

Ran*_*eep 45 git github

我使用以下命令为branch创建了一个工作树:

Git add worktree <path> <branch-name>
Run Code Online (Sandbox Code Playgroud)

这为我创建了一个新的工作树,并在路径上检查了分支

现在我想删除/删除工作树.执行以下命令:

rm -rf <path>
git worktree prune
Run Code Online (Sandbox Code Playgroud)

理想情况下,这应该删除工作树并删除该路径的引用.所以现在我应该能够结账了.但是,当我运行以下命令结帐到该分支时:

git checkout <branch-name>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

fatal: '<branch-name>' is already checked out at ''
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决发生的事情.

mst*_*eed 47

我通过.git/worktrees/<branch-name>从存储库目录中删除来解决这个问题.

  • 我认为原来的问题是:为什么`git prune`不能按预期删除worktree管理文件?我不知道这个问题的答案,但我确实回答了隐含的问题:一旦我的存储库处于该状态,我该如何查看我的分支的新副本?此外,您可以使用`git worktree add -f ...`在两个工作树中签出相同的分支. (6认同)

小智 9

我认为正确的命令是:git worktree prune