48

我使用以下命令为分支创建工作树:

Git add worktree <path> <branch-name>

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

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

rm -rf <path>
git worktree prune

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

git checkout <branch-name>

我收到此错误:

fatal: '<branch-name>' is already checked out at ''

有人可以帮我解决正在发生的事情。

4

4 回答 4

48

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

于 2015-10-26T18:27:38.690 回答
10

我认为正确的命令是:

git worktree prune
于 2017-03-28T07:55:14.310 回答
0

Git 有时只是喜欢喜怒无常,但对我有用的是首先在 git bash 上使用此命令检查哪些工作树仍然处于活动状态

git worktree list

然后你会看到你所有的工作树和你的问题孩子,在你看到它之后,看看它保存的分支名称,因为它们包含你目录的完整地址。复制整个分支名称并粘贴,或者如果该人输入

git worktree remove <FullBranchName>  (e.g C:/temp/foldername)
于 2020-02-05T10:47:20.700 回答
-5

如果所有相关分支和代码都在 github 上,则可以快速修复。删除完整的 git 项目目录。

然后从github再次克隆它,运行git clone <github-project>

提示 仅获取远程 git 分支的提示以加快速度

于 2015-10-23T07:45:02.780 回答