我注意到在我的目录中有两个模块是我的 Git 存储库的子项目。发生这种情况是因为我将它们全部移至一个 Git 存储库,并且这些模块(目录)有自己的.git
目录。
当我更改这些模块中的任何内容时,我在主 Git 存储库中看不到任何更改。我只会看到这个:
+Subproject commit e97ff0348e6adc697192ca4e6a367bdaeddcda6b-dirty
etc.
但我不需要那个。我只需要一个 Git 存储库,没有任何子项目。所以我删除了.git
这些子项目内的目录。现在我在我的主存储库上根本没有看到任何更改。
I tried add *
and 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.
...
...
附:那些未被跟踪的目录不为空。
Update如果我重命名该目录,则执行以下操作: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
,不返回任何内容或仅返回未进行任何更改的信息。
经过建议我看了这个:取消子模块 git 子模块
第一次尝试:
git submodule deinit
此后它并没有改变旧的行为。但是当我这样做时:
git rm --cached yourSubmodule
然后它将它作为子模块删除,并且 git 开始在主存储库中看到这些模块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)