我正在构建一个 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 submodule deinit -f <path-to-submodule>
(这将删除子模块中的所有文件 - 没有尾部斜杠)git rm .gitmodules
添加回来:
git clone <repo-url>
cd ..
git add <path-to-submodule>
现在,外部存储库将跟踪主题,内部存储库将正常工作。