“合并后未跟踪的Git子模块”;“以前的”;树枝

“合并后未跟踪的Git子模块”;“以前的”;树枝,git,git-submodules,git-merge,Git,Git Submodules,Git Merge,My git repos包含一个主分支和应用程序的开发版本,以及应用程序的每个发布(或当前测试)版本的一个分支 自上一个分支以来,我们向主(=开发)分支添加了一个子模块 今天我不得不对最后一个不包含子模块的分支做一些修改。当我签出这个分支时,我总是得到一个警告“警告:无法rmdir Path/to/Submodule:目录不为空”,并且当您执行“git状态”时,“Path/to/Submodule”将被列为“untracked”。 在进行更改之后,我总是确保在提交之前有选择地添加文件,这样我就不

My git repos包含一个主分支和应用程序的开发版本,以及应用程序的每个发布(或当前测试)版本的一个分支

自上一个分支以来,我们向主(=开发)分支添加了一个子模块

今天我不得不对最后一个不包含子模块的分支做一些修改。当我签出这个分支时,我总是得到一个警告“警告:无法rmdir Path/to/Submodule:目录不为空”,并且当您执行“git状态”时,“Path/to/Submodule”将被列为“untracked”。 在进行更改之后,我总是确保在提交之前有选择地添加文件,这样我就不会意外地将“Path/To/Submodule”添加到此分支

当再次签出主分支并使用“git merge”简单地合并时,子模块现在在主分支中列为“untracked”

查看.gitmodules子模块仍在定义中

有关于如何恢复的提示吗?我需要重新初始化子模块吗

干杯,
Niels

我不相信你会出现这些症状,除非在你上一个分支机构的历史记录中,出于某种原因跟踪了该目录


也就是说,如果您现在重新初始化子模块,那么下一次合并不应该再次删除它,因为
rm
commit已经被合并。这当然比试图重写上一个分支的历史记录要容易,这样子目录一开始就不存在。

我不相信你会出现这些症状,除非该目录在上一个分支的历史记录中的某个点被跟踪,然后由于某种原因被删除

也就是说,如果您现在重新初始化子模块,那么下一次合并不应该再次删除它,因为
rm
commit已经被合并。这当然比试图重写上一个分支的历史记录要容易,这样子目录一开始就不存在