2013-05-08 247 views
3

所以这有点奇怪。我正在研究一个Git仓库,并且一切都很好。直到我使用git add .将名为“tests”的文件夹添加到存储库。我注意到没有像Git那样添加文件。在Git中添加文件夹内容

所以我推送给Github检查文件是否实际添加或没有,因为“测试”是在我的“git status”日志中找出来的(但没有任何“测试”文件)。

我有一个奇怪的绿色图标,这是我第一次偶然发现它。您可以在github repository中看到图标。

提交日志显示以下

+Subproject commit 70b4cc379d0e1e749085ec1b3aaa0dd1cd0fc9b7

那么,是什么图标意味着什么也恰好发生的呢?

编辑:我没有添加子模块,如果有的话,应该有一个“.gitmodules”文件来创建它来跟踪它们。我的猜测是Git即使不应该也会感到困惑。

固化很简单

git rm tests --cached 
git add tests 
git commit -m "fixed!" 
+0

当你第一次在git中添加它时,测试文件夹是空的? – 2013-05-08 16:34:28

+0

不,它已经有了所有的文件。其实,我不知道Git添加空文件夹。 – 2013-05-08 16:35:28

+0

它不,所以我问。你说你添加了文件夹,但没有添加文件,所以我认为它可能是空的。但事实并非如此=) – 2013-05-08 16:37:49

回答

1

由于radium指出,您已添加新的git submodule

git show输出的最后一行确认您添加了一个新的子项目:

$ git show a068b76 
commit a068b7629f29f8774db67a7384dbeee732a89adb 
Author: 
Date: Wed May 8 17:18:47 2013 +0100 

    Unit testing 

diff --git a/.gitignore b/.gitignore 
index d56bef9..30d9aa6 100644 
--- a/.gitignore 
+++ b/.gitignore 
@@ -1,2 +1,3 @@ 
.idea/ 
.gitignore 
+tests/wp-tests-config.php 
diff --git a/tests b/tests 
new file mode 160000 
index 0000000..70b4cc3 
--- /dev/null 
+++ b/tests 
@@ -0,0 +1 @@ 
+Subproject commit 70b4cc379d0e1e749085ec1b3aaa0dd1cd0fc9b7 

以任何机会你运行git submodule add <URL> tests却忘了创建该文件.gitmodules,加入到Git的版本控制?

如果您添加一个.git目录的目录,git只会忽略.git并在其中添加所有其他文件。除非您明确要求它创建新的子模块,否则它不会创建新的Subproject commit

+0

不,我甚至查看了终端的历史记录。我使用了通常的“git add”。 – 2013-05-08 17:56:10

1

这图标指示该文件夹是Git submodule的GitHub的方式。也许看看Git中的模块配置,找出为什么要这样设置。

+0

很可能,因为该文件夹是另一个Git存储库。我会阅读该页面,看看我能做些什么。 – 2013-05-08 16:38:19

0

使用git add -u命令将新创建的文件/目录添加到git仓库中。

+0

nope,文件没有被跟踪开始;看看镭的答案,这不是关于添加文件。 – 2013-05-08 16:39:34

相关问题