You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动