Visual Studio 2015编译生成文件如何通过.gitignore忽略?
关于Visual Studio 2015编译生成文件的疑问解答
嘿,我来帮你把这个问题理清楚~
这些编译生成的文件是否正常?
完全正常!你列出的这些文件都是Visual Studio 2015编译WPF/Windows Forms项目时的标准产物:
MyApp.exe:编译完成后的可执行程序,是项目的最终输出之一.pdb:调试符号文件,用来在调试时映射代码到二进制文件,方便定位问题.CodeAnalysisLog.xml:代码分析工具生成的日志文件,记录了代码检查的结果.g.resources、.baml、.g.cs/.g.i.cs:这些是XAML视图编译后自动生成的文件,负责把UI定义转换成可执行的代码资源,属于编译过程中的中间产物
这些都是编译流程里的正常输出,完全不用担心是项目出了问题。
能否把这些文件添加到.gitignore中?
当然可以,而且非常推荐你这么做!
编译生成的产物属于“派生文件”——其他开发者拉取你的代码后,只需要在自己的环境里执行编译,就能生成完全一样(或适配本地环境)的文件。把这些文件提交到Git仓库只会白白增加仓库体积,还可能因为不同开发者的环境差异(比如VS版本、编译配置)导致不必要的文件冲突。
其实GitHub提供的VisualStudio.gitignore已经默认包含了对bin/和obj/目录的忽略规则,这两个目录正好包含了你列出的所有文件。如果你的.gitignore没有生效,可能是之前已经把这些文件提交到仓库了,你可以执行以下命令先移除Git对这些文件的追踪:
git rm -r --cached MyApp/bin/ MyApp/obj/
执行完后提交这个变更,之后.gitignore的规则就会正常生效,这些编译产物就不会再出现在Git的变更列表里了。
如果出于某些特殊原因你不想忽略整个目录,也可以单独添加这些文件的规则,但忽略整个bin/和obj/是更简洁、通用的做法。
内容的提问来源于stack exchange,提问作者fs_tigre
相关产品推荐
相关产品推荐

