大家好,我刚使用Git的子模块来组织一些代码库,这是地址:repos
我想将所有子模块移动到一个名为“repos”的新目录中,例如jquery -> repos/jquery。
我修改了.gitmodules文件,但似乎没有生效。我该怎么办?
大家好,我刚使用Git的子模块来组织一些代码库,这是地址:repos
我想将所有子模块移动到一个名为“repos”的新目录中,例如jquery -> repos/jquery。
我修改了.gitmodules文件,但似乎没有生效。我该怎么办?
git mv old/submod new/submod
这个功能可以按照预期工作并为您处理所有的管道。您可能需要使用git 1.9.3或更新版本,因为它包括了子模块移动的修复。
鸣谢:下面评论中的Mike Lowerey
刚才也遇到了同样的问题,最后删除了子模块引用(如本文所述),并在我想要的位置重新创建了它。
按照您将子模块jquery
移动到repos/jquery
的示例
.gitmodules
中删除(通常是三行)子模块引用。.git/config
以查找子模块的引用并删除它们(如果存在)git rm --cached jquery
来从存储库中删除子模块引用git submodule add git://github.com/jquery/jquery.git repos/jquery
重新创建子模块引用(可能与之前相同)git mv old/submod new/submod
可以正常工作并为您处理所有的管道操作。您可能希望使用Git 1.9.3或更新版本,因为它包含了移动子模块的修复程序。(来源) - Mike Lowery