我有两个解决方案的Visual Studio项目。一个是我当前的项目,另一个是子模块。整个项目在git中。我已经将Visual Studio生成的gitignore用于该项目。
子模块的一部分也是Visual Studio解决方案和子模块项目的项目设置。我已经将此子模块添加到解决方案中,但是我需要更改子目录的包含目录和活动构建。
如果我想提交我的项目,git抱怨子模块“脏”,我可以提交子模块或忽略它。我只想在源代码已更改的情况下提交子模块。有什么方法可以阻止git抱怨“脏”子模块,还是我每次提交都必须“忽略”?
答案 0 :(得分:1)
但是我需要更改子目录的包含目录和活动构建。
这就是为什么主父存储库将其子模块视为“脏”的原因:其中存在未决的更改。
如果所说的更改纯粹是您的工作站本地的,则可以考虑使用git update-index --assume-unchanged <file>
将它们从索引考虑中删除:
cd /path/to/submodule
git reset -- modified/file
git update-index --assume-unchanged -- modified/file
这是一种本地解决方法,以确保这些文件不会在子模块状态下显示为已修改。