将更改推送到外部存储库中的子模块,而不是将它们推送到子模块本身

Push changes on a submodule inside the outer repository instead of pushing them to the submodule itself

我正在开发自己的 git 存储库。它包含第三方子模块。在我的工作期间,我想更改我的存储库以及我的存储库使用的子模块中的一些组件。推送我的提交后,我的存储库中的更改被保存为存储库中的提交,子模块中的更改被保存为子模块当前签出分支中的提交。

是否可以将对子模块组件的更改保存在我自己的存储库中?因为我没有对第三方子模块的写入权限,所以我只能在本地提交我的更改。因此,我无法将我对子模块组件的更改提供给其他人,在我的存储库上工作。

如果我可以将子模块组件的更改推送到我自己的存储库,所有其他贡献者也会看到这些更改。

同样,我的主要问题是: 如何将 git 子模块的更改推送到我的存储库(外部存储库)?我需要它,因为子模块是第三方模块,我没有写权限。

你不能。你可以做的是分叉你正在使用的子模块,这样你就有写访问权限,并且在你的主项目中引用那个分叉的版本。

  1. 克隆第三方存储库
  2. 改变我想改变的东西
  3. 将调整后的仓库推送到我自己的服务器(forked仓库)
  4. 将调整后的存储库作为子模块添加到我的主存储库(外部存储库)

好处:我可以将东西推送到我自己服务器上的分叉存储库