将子项目作为常规文件夹添加到存储库

And*_*ius 6 git repository git-submodules

我注意到在我的目录中有两个模块是我的Git存储库的Subprojects.发生这种情况是因为我将它们全部移动到一个Git仓库并且这些模块(目录)有自己的.git目录.

当我在这些模块中更改任何内容时,我不会在主Git存储库中看到任何更改.我只会看到这个:

+Subproject commit e97ff0348e6adc697192ca4e6a367bdaeddcda6b-dirty
Run Code Online (Sandbox Code Playgroud)

等等

但我不需要那个.我只需要一个没有任何子项目的Git存储库.所以我删除了.git这些子项目中的目录.现在我在主存储库中看不到任何变化.

我试着add *git init.但它只是看不到那些目录,即使它在存储库中.我怎样才能让Git看到那些目录,所以它会像其他模块一样跟踪它们的变化?

我的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.
 ...
 ...
Run Code Online (Sandbox Code Playgroud)

PS那些未跟踪的目录不为空.

更新 如果我重命名该目录,那么执行以下操作: 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
Run Code Online (Sandbox Code Playgroud)

如果我将该目录重命名为原始名称,那么执行git diff,不返回任何内容或只是没有进行任何更改.

And*_*ius 7

建议后我看了这个:un-submodule a git submodule

第一次尝试:

git submodule deinit
Run Code Online (Sandbox Code Playgroud)

在此之后,它并没有改变旧的行为。但是当我这样做时:

git rm --cached yourSubmodule
Run Code Online (Sandbox Code Playgroud)

然后将其作为子模块删除,git 开始在主存储库中查看这些模块。