首页 > 解决方案 > Git - 子模块脏 - Visual Studio 项目文件

问题描述

我有两个解决方案的 Visual Studio 项目。一个是我当前的项目,另一个是子模块。整个项目都在 git 中。我已将 Visual Studio 生成的 gitignore 用于该项目。

子模块的一部分也是子模块项目的 Visual Studio 解决方案和项目设置。我已将此子模块添加到我的解决方案中,但我需要更改子模块的包含目录和活动构建。

如果我想提交我的项目,git 会抱怨子模块“脏”,我可以提交子模块或忽略它。仅当源代码已更改时,我才想提交子模块。有什么办法可以阻止 git 抱怨“脏”子模块,或者我每次提交时都必须“忽略”?

标签: gitvisual-studio

解决方案


但我需要更改包含目录并主动构建子模块。

这就是主父存储库认为其子模块“脏”的原因:其中存在待处理的更改。

如果所述更改纯粹是您工作站的本地更改,您可以考虑将它们从索引考虑中删除git update-index --assume-unchanged <file>

 cd /path/to/submodule
 git reset -- modified/file
 git update-index --assume-unchanged -- modified/file

这是一种本地解决方法,以确保这些文件不会在子模块状态中显示为已修改。


推荐阅读