Git worktree:两个工作点指向同一个位置,不能修剪

时间:2016-02-24 09:43:07

标签: git git-worktree

当我git worktree list时,显示如下。

/path/to/workspace  c943d35 [master]
/path/to/workspace  ef4df56 (detached HEAD)

这是我的工作目录(不是worktree目录)。我不知道它是怎么发生的,以及如何清理它。我试过git worktree prune,但它没有改变任何东西。任何帮助将不胜感激。非常感谢。

1 个答案:

答案 0 :(得分:3)

git worktree -- details提及:

  

每个链接的工作树在存储库的$GIT_DIR/worktrees目录中都有一个私有子目录。

检查main repo/.git/worktrees的内容,看看是否有可以手动删除的子文件夹。

Git 2.20(Q8 2018)修复了一个错误,如果路径丢失,可以在多个工作树条目下注册相同的路径(例如,手动删除)。
此外,为方便起见,请扩展--force适用的案例数。

commit 684e742Jeff King (peff)(2018年8月30日) 请参阅commit 3a54043commit f414310commit 68a6b3acommit e19831ccommit cb56f55commit 45059e6commit 602aaedcommit e5353be,{ {3}}(2018年8月28日)commit 4c5fa9e (由Eric Sunshine (sunshineco)合并于Junio C Hamano -- gitster --,2018年9月17日)

  

worktree:如果在.git/worktrees'

之后为空,请删除remove      

为了清洁,“git worktree prune”会在修剪完成后删除.git/worktrees目录。

     

为了保持一致性,如果“git worktree remove <path>”在删除后为空,则同样删除.git/worktrees