移动包含子模块的git存储库的父目录

时间:2012-11-06 13:54:24

标签: git

我已经将一个存储库克隆到PatchBasedInpaintingDevelop。我已经在那里工作了一段时间没有任何问题。然后我决定在本地重命名该文件夹。我做了'mv PatchBasedInpaintingDevelop PatchBasedInpainting',现在git状态抱怨子模块,说:

doriad@daviddesktop:/media/portable/Projects/PatchBasedInpainting$ git status
fatal: Not a git repository: /media/portable/Projects/PatchBasedInpaintingDevelop/.git/modules/ITKQtHelpers

有没有办法在不破坏子模块结构的情况下进行此移动?

1 个答案:

答案 0 :(得分:0)

您的 .gitmodules 文件似乎使用绝对路径引用子模块。

尝试对所述子模块使用 relative 路径 (例如,如“Managing a set of related repositories relative in Git”中所示)

submodule.<name>.path
  

定义相对于git工作树的顶级目录的路径,该路径预计将检出子模块。
  路径名称不得以/结尾   所有子模块路径在.gitmodules文件中必须是唯一的。

唯一的其他解决方案是修复所有绝对路径(如this script