我注意到在我的目录中有两个模块是我的 Git 存储库的子项目。发生这种情况是因为我将它们全部移动到一个 Git 存储库,并且这些模块(目录)有自己的 .git
目录。
当我更改这些模块中的任何内容时,我不会在我的主 Git 存储库中看到任何更改。我只会看到这个:
+Subproject commit e97ff0348e6adc697192ca4e6a367bdaeddcda6b-dirty
等等
但我不需要那个。我只需要一个没有任何子项目的 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.
...
...
附言那些没有被跟踪的目录不是空的。
更新
如果我重命名该目录,则执行以下操作:
git 比较
我明白了:
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
,则什么也不返回,或者只是没有完成任何更改。
最佳答案
建议后我看了这个:un-submodule a git submodule
第一次尝试:
git submodule deinit
在此之后它并没有改变旧的行为。但是当我这样做时:
git rm --cached yourSubmodule
然后它将它作为子模块删除,git 开始在主存储库中看到这些模块。
关于git - 像往常一样将子项目添加到存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403278/