1

Git 告诉我我不能将一些文件添加到索引中,因为它们位于子模块中。我认为这些文件确实曾经在子模块中,但我找不到任何迹象表明它们仍然在子模块中。如果我 grep 为 .gitmodules,我什么也找不到。如何消除这个幻像子模块,以便将文件添加到我的索引中?

ryan@ryan-HP-ProBook-4530s:/opt/staging/my.domain.com/public/profiles/mei_main$ ls
civicrm_starter.sql  mei_main.info  mei_main.install  mei_main.profile  modules  themes
ryan@ryan-HP-ProBook-4530s:/opt/staging/my.domain.com/public/profiles/mei_main$ git add themes
fatal: Path 'profiles/mei_main/themes' is in submodule 'profiles/mei_main'
ryan@ryan-HP-ProBook-4530s:/opt/staging/my.domain.com/public/profiles/mei_main$ ls -la
total 4704
drwxr-xr-x 4  48 502    4096 Aug 19 11:58 .
drwxr-xr-x 6  48 502    4096 Aug 19 11:49 ..
-rwxr-xr-x 1 503 502 4786089 Apr 29 13:43 civicrm_starter.sql
-rwxr-xr-x 1  48 502    2985 Jun  4 02:20 mei_main.info
-rwxr-xr-x 1  48 502     579 Jun  4 02:20 mei_main.install
-rwxr-xr-x 1  48 502     736 Jun  4 02:20 mei_main.profile
drwxr-xr-x 4  48 502    4096 Aug 26 17:26 modules
drwxr-xr-x 4  48 502    4096 Aug 16 10:23 themes
ryan@ryan-HP-ProBook-4530s:/opt/staging/my.domain.com/public/profiles/mei_main$ cd ../../
ryan@ryan-HP-ProBook-4530s:/opt/staging/my.domain.com/public$ grep path .gitmodules | sed 's/.*= //'
grep: .gitmodules: No such file or directory
4

2 回答 2

1

我能够通过重命名目录使目录对git可见......

mv 个人资料profiles2

重命名后,git可以看到它,我可以将它添加到repo中......

混帐添加配置文件2

接着...

git mv profile2 配置文件

将更改拉到暂存站点时,git 中止,抱怨它无法覆盖未跟踪的文件。所以,我不得不在登台时重命名目录......

mv 个人资料profiles2

然后,我可以拉...

git 拉

最后,将旧的未跟踪的配置文件目录移动到某处以安全保存......

mv profile2 ~

于 2013-08-30T13:38:01.197 回答
1

如果.gitmodules文件丢失,请查看里面的.git/config. 有关如何清理所有内容的更多信息,请参见此处。

于 2013-08-27T15:39:28.647 回答