首页 > 解决方案 > Git/Github:替换分叉存储库的子模块

问题描述

我想要的是

我有一个开源父存储库,我想创建一个分支来使用它,这个存储库由 3 个子模块和一些配置文件组成。我想要的是saleor-storefront用我自己的实现(私有存储库)替换其中一个子模块(),并且我希望能够使用上游存储库所做的更改来更新其他子模块和文件。

我应该只更改要从.gitmodules文件中替换的模块的路径,还是有其他我不知道的更改?

分叉项目结构

saleor-platform
├── ./.gitmodules
├── ./common.env
├── ./docker-compose.yml
├── ./saleor
├── ./saleor-dashboard
└── ./saleor-storefront  -> Submodule to be replaced with my own implementation

.gitmodules

[submodule "saleor"]
    path = saleor
    url = https://github.com/mirumee/saleor.git
[submodule "saleor-storefront"]
    path = saleor-storefront
    url = https://github.com/mirumee/saleor-storefront.git
[submodule "saleor-dashboard"]
    path = saleor-dashboard
    url = https://github.com/mirumee/saleor-dashboard.git

标签: gitgithubsaleor

解决方案


Git 2.25 命令git submodule set-url应该有助于通过您的 fork 更新/替换您的子模块之一的 URL:

git submodule set-url -- saleor-storefront https://github.com/<me>/saleor-storefront

这样,您在修改子模块的 URL 时就不会错过任何“其他更改”。


推荐阅读