让 git “查看”子模块

问题描述 投票:0回答:1

我正在构建一个 WordPress 网站,根目录中包含 git 存储库以及主题根目录。 (这不是一个理想的设置 - 不要问!)

我无法让外部存储库“查看”子模块。在 Gitlab 上,可以在站点根存储库中找到相关主题,但单击该文件夹会转到主题根存储库。在服务器上,主题作为空目录存在。

我已经跑了(出于隐私原因,公司名称被排除):

git rm --cached wp-content/themes/salient-child/ (untrack submodule)
git submodule add [email protected]:xxxx-sites/xxxx.git ./wp-content/themes/salient-child 

(明确添加子模块)

并将新创建的 .gitmodules 文件推送到站点,但我仍然在 gitlab 或服务器上找不到该子模块。

我现在该怎么办?感谢您的帮助!

git git-submodules
1个回答
0
投票

我不能确定是什么原因导致了这个问题,但我找到了解决方法。我的可能是一个非常具体的用例 - 一个存储库位于站点根目录中,另一个存储库位于主题根目录中 - 因此,如果这不是您的设置,请自行承担风险。

删除子模块:

  1. git submodule deinit -f <path-to-submodule>
    (这将删除子模块中的所有文件 - 没有尾部斜杠)
  2. git rm .gitmodules
  3. 确保子模块的 .git 目录已经消失,如果没有删除

添加回来:

  1. git clone <repo-url>
  2. cd ..
  3. git add <path-to-submodule>

现在,外部存储库将跟踪主题,内部存储库将正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.