【问题标题】:Git submodule untracked after merge of "previous" branch合并“上一个”分支后未跟踪 Git 子模块
【发布时间】:2011-08-30 06:23:09
【问题描述】:

我的 git 存储库包含一个主分支,其中包含我们应用程序的开发版本,以及每个已发布(或当前测试的)应用程序版本的分支。

从上一个分支开始,我们向主(=开发)分支添加了一个子模块。

今天我不得不对最后一个不包含子模块的分支进行一些更改。当我检查这个分支时,我总是收到一个警告“警告:无法 rmdir Path/To/Submodule: Directory not empty”,当你执行“git status”时,“Path/To/Submodule”将被列为“未跟踪” ”。 进行更改后,我始终确保在提交之前有选择地添加文件,以免我不小心将“路径/到/子模块”添加到此分支。

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

查看 .gitmodules 子模块仍然定义...

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

干杯, 尼尔斯

【问题讨论】:

    标签: git git-submodules git-merge


    【解决方案1】:

    我不相信您会出现这些症状,除非该目录在您上一个分支历史的某个时间点被跟踪,然后出于某种原因git rmed。

    话虽如此,如果你现在重新初始化你的子模块,下一次合并不应该再次删除它,因为rm 提交已经被合并了。这肯定比尝试重写上一个分支的历史记录要容易得多,这样子目录一开始就不会出现。

    【讨论】:

      猜你喜欢
      • 2017-07-23
      • 1970-01-01
      • 2013-12-05
      • 2013-11-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 2017-10-21
      • 2012-02-29
      相关资源
      最近更新 更多