如何移除包含submodule的Git worktree?
移除包含子模块的Git工作树
当工作树包含子模块时,直接执行git worktree remove会触发错误,你可以按以下步骤操作:
切换到要移除的工作树目录:
cd ../secondary-worktree强制取消当前工作树中子模块的本地关联:
git submodule deinit -f .注:
-f参数用于强制取消关联,若子模块有未提交修改且需要保留,可去掉-f,先提交或 stash 子模块的更改返回主仓库目录,执行工作树移除命令:
cd <path-to-main-worktree> git worktree remove ../secondary-worktree
如果上述方法仍无法移除,可手动清理:
- 直接删除目标工作树目录:
rm -rf ../secondary-worktree - 进入主仓库的
.git/worktrees目录,删除对应工作树的配置文件夹:cd <path-to-main-worktree>/.git/worktrees rm -rf secondary-worktree
内容的提问来源于stack exchange,提问作者Ginger Jesus
相关产品推荐
相关产品推荐

