在没有遥控器的情况下创建 git 个子模块

Creating git submodule without a remote

我想在我的 main 存储库中有一个 sub 存储库,它可以从与我的 main 完全不同的远程存储库中推送和拉取。所以我想要一个子模块。但我想在本地创建子模块,然后将其推送到远程。它在任何地方都不存在。

我看到的所有示例都涉及将远程仓库拉入子模块,这就是创建子模块的方式

git submodule add git@github.com:url_to/awesome_submodule.git path_to_awesome_submodule

有没有办法创建子模块,进行一些提交,然后将它们推送到有问题的远程仓库?

Creating git submodule without a remote

否:您的子模块必须有一个从中克隆它的远程仓库。

对于您的情况,请确保您的子存储库的根文件夹未被跟踪:

git rm sub

然后 move/delete 它,并将其作为子模块回购添加回来:

cd main
git submodule add git@github.com:url_to/awesome_submodule.git sub

从那里,您可以进入该子模块并:

  • 签出一个分支(默认情况下,您处于分离的 HEAD 中)
  • 做出一些承诺
  • 从它推送到它自己的远程URL。