我有一个主仓库,里面包含了几个 git 子模块
。
最近我遇到了一个新的错误,但我无法解决:
fatal: Could not switch to '~/git': No such file or directory
Clone of '~/git/MyModule_A.git' into submodule path '.modman/MyModule_A' failed
我在做什么
首先,像往常一样克隆主仓库:git clone /path/to/the/bare/repo.git src
然后我运行git submodule update --init
,这将正确注册所有子模块并将它们添加到.git/config
中。
Submodule '.modman/MyModule_A' (~/git/MyModule_A.git) registered for path '.modman/MyModule_A'
Submodule '.modman/MyModule_B' (~/git/MyModule_B.git) registered for path '.modman/MyModule_B'
Submodule '.modman/MyModule_C' (~/git/MyModule_C.git) registered for path '.modman/MyModule_C'
fatal: Could not switch to '~/git': No such file or directory
Clone of '~/git/MyModule_A.git' into submodule path '.modman/MyModule_A' failed
目前我尝试了以下方法:
- 从
.gitmodules
中删除MyModule_A
子模块,但无论是在MyModule_B
还是MyModule_B
等其他模块中,错误仍然存在。 - 手动将
~/git/MyModule_A.git
克隆到存储库外的另一个文件夹中,这个方法可行。 - 检查文件权限,看起来没有问题。
- 检查
.gitmodules
中的条目,是否有路径、url或任何语法问题,但没有发现此类情况。