我注意到在我的目录中有两个模块是我的Git存储库的Subprojects。之所以发生这种情况,是因为我将它们全部移动到一个Git仓库,这些模块(目录)有自己的.git
目录。
当我更改这些模块中的任何内容时,我不会在主Git存储库中看到任何更改。我只会看到这个:
+Subproject commit e97ff0348e6adc697192ca4e6a367bdaeddcda6b-dirty
等
但我不需要那样做。我只需要一个没有任何子项目的Git存储库。所以我删除了这些子项目中的.git
目录。现在我在主存储库中看不到任何变化。
我尝试了add *
和git init
。但它只是看不到那些目录,即使它在存储库中。如何让Git看到这些目录,以便跟踪其他模块的变化?
My Git存储库看起来像这样:
my_project/
.git
dir1
dir2
dir3 # Let's say this is the one directory that Git does not see. So any changes I make here are not tracked at all.
...
...
P.S。那些未跟踪的目录不为空。
更新
如果我重命名该目录,那么执行以下操作:
git diff
我明白了:
diff --git a/dir3 b/dir3
deleted file mode 160000
index e279fc4..0000000
--- a/dir3
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e279fc481b9706ad79b24281efdbabd55179aee8
如果我将该目录重命名为原始名称,然后执行git diff
,则不返回任何内容或只是没有进行任何更改。
答案 0 :(得分:4)
建议后我查看了这个:un-submodule a git submodule
首先尝试:
git submodule deinit
在此之后它并没有改变旧的行为。但是当我这样做时:
git rm --cached yourSubmodule
然后它将其作为子模块删除,git开始在主存储库中看到这些模块。