Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在git工作目录被删除时删除它的工作树分支?_Git - Fatal编程技术网

如何在git工作目录被删除时删除它的工作树分支?

如何在git工作目录被删除时删除它的工作树分支?,git,Git,我已经删除了它的工作目录,因为这个git工作树不再有用了,于是我在主存储库的目录下删除了git branch-D pubsub-sketch树。引发了一个错误: error: Cannot delete branch 'pubsub-sketch-tree' checked out at '/Users/zhouhancheng/编程/github_own/sketch_worktree/pubsub-sketch_tree' 但是“/用户/周韩城”/编程/github_own/sketc

我已经删除了它的工作目录,因为这个git工作树不再有用了,于是我在主存储库的目录下删除了git branch-D pubsub-sketch树。引发了一个错误:

error: Cannot delete branch 'pubsub-sketch-tree' checked out at '/Users/zhouhancheng/编程/github_own/sketch_worktree/pubsub-sketch_tree'  

但是“/用户/周韩城”/编程/github_own/sketch_worktree/pubsub-sketch_tree'已被删除

您使用的是
git worktree
,因此答案如下:

当你完成一个链接的工作树,你可以简单地删除它。存储库中工作树的管理文件(请参阅下面的“详细信息”)最终将被自动删除(请参阅中的
gc.worktreePruneExpire
),或者您可以在主工作树或任何链接的工作树中运行
git worktree prune
,以清理任何过时的管理文件

(我的重点)。如果Git认为该分支已在辅助工作树中签出,它将不允许您删除该分支。如果辅助工作树已经被删除,但是Git还没有意识到这一点,那么只需运行
Git worktree prune
告诉Git去检查

我已经删除了它的工作目录

由于“
Git-worktree
”学习了“
move
”和“
remove
”子命令,使用Git 2.17+(2018年第2季度)会更轻松

参见。
参见,、、(2018年2月12日)和(2018年1月24日)的作者。
(于2018年3月14日合并)

工作树删除
:新建命令 此命令允许删除工作树。就像“移动”一样,你不能移动 删除主工作树,或其中包含子模块的工作树

要删除
$GIT\u WORK\u TREE
,将删除未跟踪的文件或任何暂存条目 被认为是珍贵的,因此在默认情况下防止移除。忽略 档案并不珍贵


工作树删除:当
$GIT\u WORK\u TREE
已经消失时允许它 “
git worktree remove
”基本上由两部分组成

  • 删除
    $GIT\u工作树
  • 删除
    $GIT\u DIR
    (即
    $SUPER\u GIT\u DIR/worktrees/something
如果由于某种原因,
$GIT\u WORK\u TREE
已经消失,我们应该能够 通过删除
$GIT\u DIR
来完成作业

使用Git 2.17(2018年第二季度),
Git worktree remove
将起作用。看见