git - 如何更改 git 子模块的远程存储库?

标签 git git-submodules

我创建了一个带有子模块的 git 存储库。我能够告诉子模块本身更改其远程存储库路径,但我不确定如何告诉父存储库如何更改子模块的远程存储库路径。

如果我有点不走运并且必须手动执行操作,我不会感到惊讶,因为即使删除子模块也不容易。

最佳答案

您应该能够编辑 .gitmodules 文件以更新 URL,然后运行 ​​git submodule sync --recursive 以将更改反射(reflect)到 super 项目和您的工作副本。

然后您需要转到 .git/modules/path_to_submodule 目录并更改其配置文件以更新 git 路径。

如果 repo 历史不同,那么您需要手动 checkout 新分支:

git submodule sync --recursive
cd <submodule_dir> 

git fetch
git checkout origin/master
git branch master -f
git checkout master

关于git - 如何更改 git 子模块的远程存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913701/

相关文章:

git - 容器启动时的 Docker git clone?

git - 如何使用 Notepad++ Compare 作为 git bash/命令行中的差异工具?

git - 我如何使用这个 git 存储库文件夹?

git - 下载时自动包含 GitHub 子模块

git - 即使使用 SSH 风格的 git@github,你也可以通过 HTTPS 克隆吗

Git子模块更新

git - git 分支上的提交数

git - 使用 git-flow 更新子模块

git - 如何恢复已删除的 .git/modules 文件夹

git - 从 git 中的 checkout 后 Hook 设置环境变量