我有一个使用 Github 子模块 B 的 git 项目 A。我无法推送到 Github 项目 B,因为它不是我的。我想在 B 中做一个不推送到远程 B 的小改动(因为我不能推送)但它应该推送到 A (所以当有人使用 A 时,他应该能够看到我的更改)。我尝试在 B 中提交,然后在 A 中提交,看起来更改已正确提交。当我将 A 推送到 bitbucket 时,它会向我显示带有新提交的子模块。我试图在其他地方克隆 A,但出现以下错误:
fatal: remote error: upload-pack: not our ref 7b9e40769855bc50f3be629cd8307d76dd8ecf1b
fatal: the remote end hung up unexpectedly
Fetched in submodule path 'src/B', but it did not contain 7b9e40769855bc50f3be629cd8307d76dd8ecf1b. Direct fetching of that commit failed.
我想找不到新提交,因为它没有被推送到 B 的远程。有什么办法可以解决这个问题吗?我更愿意将 B 作为子模块,这样我就可以从远程项目中获取更新,但我也需要这些小改动
如果你想分享它,你必须以某种方式发布它。
一种方法是:
B
A
:更新 git 模块远程 url 以指向您的 fork,并为您创建的提交使用提交 ID。稍后,如果您想要的更改集成到 upstream B
,您可以切换回 project 的原始基本 url B
。
另一个选择,如果你A
同意的话,是在你的下一次提交中,停止B
作为子模块处理,并将其集成为你的 repo 的子树。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句