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

时间:2016-08-03 14:40:03

标签: git smartgit

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

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

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

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

2 个答案:

答案 0 :(得分:1)

你不能。您可以做的是fork您正在使用的子模块,以便您具有写访问权限,并且在您的主项目中引用该分叉版本。

答案 1 :(得分:1)

  1. 克隆第三方存储库
  2. 更改我想要更改的内容
  3. 将调整后的存储库推送到我自己的服务器(分叉存储库)
  4. 将调整后的存储库添加到我的主存储库(外部存储库)作为子模块
  5. 好处:我可以将东西推送到我自己的服务器上的分叉存储库