【发布时间】:2014-01-31 16:15:24
【问题描述】:
我的项目位于“www”文件夹中。
在“www/vendor”中,我从 GitHub 克隆了其他项目。我只是克隆了它们,没有做任何事情来使它们成为子模块或子树。
我经常参与这些子项目,贡献上游等。我只需要cd 到像“www/vendor/projectX”这样的目录并在那里使用 Git 提交,就好像它们是独立的项目.然后我可以回到“www”并在那里进行提交,以确认子项目中的更改到我的主项目中。一切都很棒而且很简单。
然后我将“www/vendor”移动到“www/php/vendor”。我做了git add php 并提交了更改,现在我所有的“www/php/vendor/*”文件夹在远程服务器上都是空的。在我的机器上,文件还在,但git status 说没有什么可以提交的。
我不知道,但是当我移动它们时,似乎所有子项目都已自动声明为子模块。但是我看不到它的踪迹:没有 .gitmodule,模块文件夹中没有任何内容。这就是我git rm时得到的:
$ git rm php/vendor/projectX
error: the following submodule (or one of its nested submodules) uses a .git directory:
php/vendor/projectX
是我遗漏了什么还是这是一个 Git 错误?我想回到我以前的工作方式,不删除子项目的.git文件夹或使用子模块。
我一直在 Windows 中使用 Git 1.8.4 和 1.8.5.2。
【问题讨论】:
标签: git git-submodules git-subtree