git使用带有子模块的子模块正确移动目录

时间:2019-01-08 10:40:06

标签: git git-submodules

我有以下目录树,存储在git存储库中,带有子模块:

project_src
   └── src
       └── aiscom             <- submodule of project_src
          ├── libaisparser    <- submodule of aiscom
          └── reliablesocket  <- submodule of aiscom

由于我们的项目源代码层进行了一些重组,我想将整个src文件夹移入 gui文件夹以及所有引用的子模块,例如:

 project_src
   └──gui
      └── src
          └── aiscom              <- submodule of project_src
              ├── libaisparser    <- submodule of aiscom
              └── reliablesocket  <- submodule of aiscom

根据How do I move an existing Git submodule within a Git repository?How do I move an existing Git submodule within a Git repository?,我做到了:

git mv src gui

现在git抱怨:

$ git status                                                                                                           

  fatal: not a git repository: libaisparser/../../../.git/modules/src/aiscom/modules/libaisparser
  fatal: 'git status --porcelain=2' failed in submodule gui/src/aiscom

我尝试过:

$ git submodule foreach --recursive 'git submodule sync'                                                                                                           [±enh-43/source-tree-refactoring ✓]

  Entering 'gui/src/aiscom'
  Synchronizing submodule url for 'libaisparser'
  fatal: not a git repository: libaisparser/../../../.git/modules/src/aiscom/modules/libaisparser
  Stopping at 'gui/src/aiscom'; script returned non-zero status.

有人知道如何用git包含一个包含一个子模块的目录移动目录吗?

0 个答案:

没有答案