Git文件夹内容(可能是子模块)无法提交

时间:2017-09-19 21:42:39

标签: git commit git-submodules

我和作曲家有一个drupal项目。使用其中一个drupal模块,模块" entity_embed"伴随着。当我尝试提交它时,它不会提交文件夹的内容,导致BitBucket视图如下:

BitBucket showing folder entity_browser as submodule

我发现这似乎是一个子模块。因为我的网络服务器上没有任何工具(甚至不是作曲家),所以我需要一个干净的存储库来提交,而不需要任何部署机制。所以我尝试手动添加文件,但这不起作用(没有输出,相同的行为)。

我也试图去目录并执行

git add entity_embed/*

但是这导致了错误消息

fatal: Pathspec 'entity_embed/composer.json' is in submodule 'docroot/modules/contrib/entity_embed'

由于我不熟悉子模块,我不知道该怎么做。最好的方法是实现文件夹中的文件只是可以提交的常规文件。

我在整个项目中找不到任何.gitmodule文件......

更新

对于需要立即,快速和肮脏的解决方案的人,我发现在我的情况下哪个drupal模块需要这些模块,所以我将它们从模块的composer.json文件中删除并下载&手动复制它们。这样做的目的就是我的项目不会忽略供应商文件(我总是检查项目中的所有文件)。

1 个答案:

答案 0 :(得分:0)

此问题的解决方案是子模块包含一个名为.git的隐藏文件夹。删除此文件夹,您将能够按原样提交模块。

有两种策略:提交您的供应商,或者不提交。如果您提交它,则必须确保其中不包含其他.git目录。