3

所以这有点奇怪。我正在开发一个 Git 存储库,一切都很好。直到我使用git add .. 我注意到没有像 Git 过去那样添加文件。

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

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

提交日志显示以下内容

+Subproject commit 70b4cc379d0e1e749085ec1b3aaa0dd1cd0fc9b7

那么这个图标是什么意思,到底发生了什么?

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

治疗很简单

git rm tests --cached
git add tests
git commit -m "fixed!"
4

3 回答 3

1

该图标是 Github 指示文件夹是Git 子模块的方式。也许看看你在 Git 中的模块配置,看看为什么它是这样设置的。

于 2013-05-08T16:32:54.677 回答
1

正如指出的那样,您添加了一个新的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除非您明确要求它创建新的子模块,否则它不会创建新的。

于 2013-05-08T16:49:55.740 回答
0

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

于 2013-05-08T16:34:23.417 回答