git子模块-无法获取子模块的存储库句柄

wgx48brx  于 2023-04-10  发布在  Git
关注(0)|答案(1)|浏览(574)

Git子模块的支持似乎是非常错误的。我尝试在工作树中切换分支,现在我一直得到这个错误:

fatal: could not get a repository handle for submodule 'the_submodule'

它到底是什么意思?什么是仓库句柄?

5anewei6

5anewei61#

我解决这个问题的方法是手动清理并重新初始化有问题的子模块:
git submodule deinit the_submodule
git submodule init the_submodule
git submodule update the_submodule
请注意,不幸的是,目前(2023年初)git worktree并不能很好地处理子模块。git-worktree的手册页在BUGS下面列出:
多重 checkout 总体上还处于试验阶段,对子模块的支持还不完善,不建议对超级项目进行多重 checkout 。
(强调我的)
编辑:您也可以通过禁用submodule.recurse选项(默认为关闭)来继续git操作,即使子模块处于损坏状态,也可以通过git config或基于每个命令使用git -c submodule.recurse=no subcommand ...

相关问题