git: 目录似乎既是有修改的目录又是子模块

git: directory seems to be both directory with modification and submodule

很久以前(2011 年)我开始了一个带有子目录的项目。 稍后我决定将这些子目录实际制作为子模块。

那是很久以前(2013 年)的事了,我不记得具体的步骤了。

现在我向一个子模块添加了两个提交(在该子目录中执行),还标记了一个新版本,然后推送。

更新子模块后,添加并提交更改,在git主目录git status中仍然显示“modified: 目录 (untracked content)".

我想知道如何删除该消息(或者至少我想知道是什么原因造成的)。

(此答案基于@torek 的评论)

The status message you see means that the submodule has status.

这就是线索:我将一些更改 diff 到子模块目录中的一个文件中,并且该文件没有被 .gitignore 忽略。 所以 git status 在子模块中说“未跟踪的文件:”。

一旦删除子模块目录中的差异输出文件,状态就会变为“你的分支是最新的 ...”。 更改到父目录后 git 状态也更改为“您的分支是最新的 ...”。