VS2017项目Git提交咨询:需纳入哪些配置文件?是否提交.vs目录?
关于VS2017项目提交到Git的文件指南
作为经常用VS和Git协作的开发者,我来帮你理清这个问题,确保团队协作时配置不丢失,同时仓库体积保持合理~
需要提交到Git的核心文件
这些文件包含了项目的核心配置和结构,是其他机器检出代码后能正常构建的关键:
- 解决方案文件:
your-project.sln,它是VS的入口,管理所有关联的项目 - 项目文件:根据你的语言不同,比如C++的
.vcxproj、C#的.csproj,你的包含目录、链接器选项、编译参数等核心配置都存在这里,必须提交 - 项目筛选器文件:比如C++的
.vcxproj.filters,它用来维护项目内的文件分类结构,提交后其他开发者看到的文件目录结构和你一致 - 可选但推荐:
.editorconfig(如果团队有统一编码风格)、自定义的.gitignore(用来排除不必要的文件)
绝对不要提交的文件
这些都是本地生成的缓存或用户特定数据,不仅没用还会增大仓库体积:
.vs/目录:完全不需要提交!这个目录是VS的本地缓存,里面存了IntelliSense索引、调试会话数据、临时构建缓存、用户特定的布局设置等内容,体积大就是因为这些缓存。它是本地自动生成的,其他机器克隆仓库后打开VS会重新创建,提交它只会导致仓库臃肿,还可能引发协作冲突。- 构建输出目录:
bin/和obj/,里面是编译生成的可执行文件、中间目标文件,这些可以通过重新构建生成,不需要提交 - 用户特定配置文件:
*.suo(解决方案用户选项)、*.user(项目用户选项),这些是针对当前用户的个性化设置,比如窗口布局、本地调试路径,提交后会和其他开发者的设置冲突
小贴士
- 建议使用VS自带的Visual Studio Git模板来生成
.gitignore,它已经帮你排除了所有不需要提交的VS相关文件,避免遗漏 - 检查你的项目配置是否都存在
.vcxproj/.csproj里,而不是.user文件里(.user是本地的,不会被提交),这样才能保证其他机器检出后配置完全一致 - 第一次提交后,在另一台机器克隆仓库,直接打开
.sln文件,VS会自动生成.vs等本地目录,读取项目文件里的配置,就能正常构建了
内容的提问来源于stack exchange,提问作者ywaz




