0

有没有人对以下问题有任何提示:

  • 我有一些本地存储库 ABC,我在项目 X 中使用它们。
  • 我将这些存储库 ABC 作为子模块添加到项目 X。

但是,当我推送我的项目 X 时,子模块内的文件不会推送到我的 ssh 服务器上的远程裸存储库(我只看到空目录)。我如何在将存储库 ABC 保持在本地的同时实现这一目标。

4

1 回答 1

0

我不确定这是否真的可能。当您推送到远程仓库时,git 将推送有关您的子模块的信息(即.gitmodules文件中的信息),但它不会推送子模块的文件本身。无论它是否是一个裸仓库,这都是正确的,并且是子模块的重点。子模块是在一个单独的 repo 中的东西,你在你的超级项目中保留的只是对它的引用。

我很确定,如果文件被分成子模块,并且您希望它们在服务器上可用,那么您需要在服务器上为这些子模块提供远程存储库。如果您开始跟踪超级项目中的 ABC 文件,那么它们就不再是真正的子模块。

您可以设置一个挂钩,在推送后将您的 ABC 文件复制到您的服务器,但是它们当然不会成为您的远程存储库的一部分,只能在您的远程服务器上使用。

总之,如果您必须将它们放在那里,只需为它们设置一个远程存储库。

于 2012-04-18T18:53:14.493 回答