git - 对 git 子模块进行更改,然后将它们添加到我的主项目中

标签 git github git-submodules

我有一个 git 项目 P。在我的项目 P 中有一个子模块 Q,它是从第 3 方库的主分支中克隆出来的。

P
|
 - src
 - Vendor
    |
     - Q

我无权推送对第 3 方库的远程仓库的任何更改。

我在 Q 中做了一些修复,现在我希望将它们推送到我的项目 Pmaster 分支中,这样我的团队成员也可以使用它们。
目前我正在开发我的“dev”分支。

我在 P 中尝试了以下步骤:

  1. cd Vendor/Q
  2. git branch my-fixes
  3. git checkout my-fixes
  4. 修复
  5. git 添加
  6. git commit -m 'My fixes to 3rd Party Library Q'
  7. cd ../..
  8. git add Vendor/Q
  9. git commit -m '对子模块 Q 所做的更改/修复'
  10. git push

但是,这似乎并没有解决我的问题。有人可以帮帮我吗?

最佳答案

如果您推送项目 P,则没有人能够从第 6 步获得提交,因为您无权推送对 3rd 方库的远程仓库的任何更改。

您是否考虑过创建一个 repo 来存储您公司对 Q 的更改,而不是将子模块注册到第 3 方的 Remote ?这样您就可以将对 Q 的更改保存到您公司的服务器上。

关于git - 对 git 子模块进行更改,然后将它们添加到我的主项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309884/

相关文章:

Git 推送被拒绝并且获取失败

git push 对于一个分支来说非常慢

netbeans - 可以将 Netbeans 与 GitHub 连接吗?

github - GitHub 在哪里托管所有数据和文件?

Git:如何将子模块推送到远程存储库?

git - 如何初始化嵌套在子树中的子模块?

git - 在现有 Git 服务器的盒子上安装 GitLab

git - Heroku SSL 端点——我需要更改 git 远程吗?

git - Windows 上的 GitHub Desktop 上的子模块总是出现 checkout 错误

git - git 子模块可以有自定义根吗?