Java Intellij为什么要展示';鬼';多模块git项目中的变化?

Java Intellij为什么要展示';鬼';多模块git项目中的变化?,java,git,intellij-idea,commit,Java,Git,Intellij Idea,Commit,我正在进行一个多模块项目,每个模块都包含在一个单独的git回购中 当我在Intellij中打开Commit Changes对话框时,除了我对java文件所做的更改之外,我经常看到对其他模块所做的假定更改,而这些更改实际上没有更改 在更改树中,在这些未更改的模块下面,将有一个项目,它只有git存储库的名称,没有文件扩展名,并且有一个问号图标,表示Intellij无法识别文件类型 当我单击该项时,内置的diff viewer会给出一个40个字符的十六进制字符串,后跟一个无效的对象名 如果我恢复该

我正在进行一个多模块项目,每个模块都包含在一个单独的git回购中

当我在Intellij中打开
Commit Changes
对话框时,除了我对
java
文件所做的更改之外,我经常看到对其他模块所做的假定更改,而这些更改实际上没有更改

在更改树中,在这些未更改的模块下面,将有一个项目,它只有git存储库的名称,没有文件扩展名,并且有一个问号图标,表示Intellij无法识别文件类型

当我单击该项时,内置的diff viewer会给出一个40个字符的十六进制字符串,后跟一个无效的对象名

如果我恢复该模块上的更改,它将立即重新出现


发生这种情况是否有原因,是否会导致任何问题?

这看起来非常类似于子模块对象,如果您在子模块中提交了更改,但根repo中的引用没有更改,则行为将是这样的

另一个可能的原因是
git status
将文件夹输出为修改后的文件夹,如果在根repo中没有正确忽略嵌套的存储库,则可能会发生这种情况。在这种情况下,请确保根repo中的.gitignore包含嵌套repo的文件夹