2011-08-29 61 views
2

我的git回购包含一个主分支,其中包含我们应用程序的开发版本和每个已发布(或当前测试)版本的应用程序的分支。Git子模块在“前”分支合并之后未跟踪

自从最后一个分支以来,我们向master(= development)分支添加了一个子模块。

今天,我不得不在最后一个不包含子模块的分支上进行一些更改。当我检查出这个分支时,我总是会得到一个警告“警告:无法rmdir路径/目录/子模块:目录不为空”,并且当您执行“git status”时,“路径/目标/子模块”将被列为“未跟踪” ”。 进行更改后,我总是确保在提交之前有选择地添加文件,这样我就不会不小心将“路径/到/子模块”添加到此分支。

当再次检出主分支并仅使用“git merge”进行合并时,子分支现在在主分支中被列为“未跟踪”。

望着.gitmodules子模块仍然被定义...

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

干杯, 尼尔斯

回答

0

我不相信你会得到那些症状,除非该目录是在你的最后一个分支的历史在一些点跟踪然后git rm版出于某种原因。

话虽这么说,如果重新初始化你的子模块,现在,未来合并不应再次将其删除,因为rm提交已合并。这肯定比重写最后一个分支的历史更容易,所以子目录从来就不存在。