我已经删除了它的工作目录,因为这个git工作树不再有用了,然后我在主存储库的目录下git branch -D pubsub-sketch-tree
。抛出错误:
error: Cannot delete branch 'pubsub-sketch-tree' checked out at '/Users/zhouhancheng/编程/github_own/sketch_worktree/pubsub-sketch_tree'
但'/ Users / zhouhancheng /编程/ github_own / sketch_worktree / pubsub-sketch_tree'已被删除。
答案 0 :(得分:9)
您使用的是git worktree
,因此答案位于the git worktree
documentation:
完成链接的工作树后,您只需将其删除即可。存储库中的工作树管理文件(参见" DETAILS"下面)最终将自动删除(请参阅git-config(1)中的
gc.worktreePruneExpire
),或 您可以运行主要或任何链接工作树中的git worktree prune
,以清理任何陈旧的管理文件。
(强调我的)。如果Git认为它已在辅助工作树中签出,那么Git不会让你删除该分支。如果已经删除了辅助工作树,但是Git还没有抓住这个事实,只需运行git worktree prune
到告诉 Git去检查。
答案 1 :(得分:1)
我已删除其工作目录
使用Git 2.17 +(2018年第二季度)可以更轻松,因为" git worktree
"已经学会了move
'和' remove
'子命令。
commit 7f19def见Eric Sunshine (sunshineco
)(2018年3月4日)
请参阅commit ee6763a,commit cc73385,commit 78d986b,commit c64a8d2,commit 9f792bb,commit 9c620fc(2018年2月12日)和commit 4ddddc1(24 2018年1月)Nguyễn Thái Ngọc Duy (pclouds
)
(由Junio C Hamano -- gitster
--合并于commit bd0f794,2018年3月14日)
worktree remove
:新命令此命令允许删除工作树。喜欢'移动'你不能 删除主工作树,或内部子模块。
删除
$GIT_WORK_TREE
,未删除文件或任何暂存条目 被认为是宝贵的,因此可以防止默认删除忽视 文件并不珍贵。
worktree remove:
$GIT_WORK_TREE
已经消失时允许
" git worktree remove
"基本上由两件事组成
- 删除
$GIT_WORK_TREE
- 删除
$GIT_DIR
($SUPER_GIT_DIR/worktrees/something
)如果由于某种原因
$GIT_WORK_TREE
已经消失,我们应该可以 通过删除$GIT_DIR
来完成工作。