有没有办法在不先删除并重新添加子模块的情况下将其移动到超级项目中?
这类似于你删除一个子模块的方式(参见如何删除子模块?):
git add .gitmodules
将其放入索引中mkdir -p new/parent
mv -vi old/parent/submodule new/parent/submodule
git rm --cached old/parent/submodule
删除旧目录对我来说看起来是这样的:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: .gitmodules
# renamed: old/parent/submodule -> new/parent/submodule
#
new/parent/submodule
出现了未跟踪文件,而 old/parent/submodule
被删除了。最后我只能先将子模块删除,再重新添加。 - wutz我目前认为还没有。
正在制作一个教学 "补丁"git mv
",如何处理移动子模块,包括如何更新.gitmodules
文件。
但它还没有完工。
简单地 为现有子模块切换远程仓库更简单, 但不是你想要的。