我有以下目录树,存储在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包含一个包含一个子模块的目录移动目录吗?