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,不返回任何内容或只是没有进行任何更改.
建议后我看了这个: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 开始在主存储库中查看这些模块。
| 归档时间: |
|
| 查看次数: |
2026 次 |
| 最近记录: |