我正在开发一个多模块项目,每个模块都包含在一个单独的 git 存储库中。
当我在 Intellij 中打开 Commit Changes
对话框时,除了对我所做的 java
文件进行更改时,我经常会看到对其他模块的假定更改,而这些更改并未在 Intellij 中进行。事实改变了。
在更改树中,在这些未更改的模块下方,将有一个项目,其中只有 git 存储库的名称,没有文件扩展名,还有一个问号图标,表示 Intellij 无法识别该文件类型。
当我单击该项目时,内置差异查看器会给出致命:不是有效的对象名称
,后跟一个 40 个字符的十六进制字符串。
如果我恢复该模块上的更改,它将立即重新出现。
发生这种情况有原因吗?会导致任何问题吗?
最佳答案
这看起来与子模块对象非常相似,如果您在子模块中提交了更改,但根存储库中的引用没有更改,则行为将是这样的。
另一个可能的原因是 git status
输出修改后的文件夹,如果嵌套存储库在根存储库中未正确忽略,则可能会发生这种情况。在这种情况下,请确保根存储库中的 .gitignore 包含嵌套存储库的文件夹。
关于java - 为什么 Intellij 在多模块 git 项目中显示 'ghost' 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53501510/