You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019如何限制Git Changes仅显示当前解决方案文件夹的变更?

限制Visual Studio Git Changes仅显示当前解决方案文件夹的变更

针对单仓库多Visual Studio解决方案场景下,不想看到其他文件夹未提交变更的需求,以下是几种无需修改.gitignore的解决方案:

方案1:Git子模块

将每个独立的test文件夹拆分为Git子模块,每个子模块拥有独立的Git仓库:

  • 先把test1、test2等文件夹分别推送到独立的GitHub仓库
  • 在主仓库根目录执行命令添加子模块:
    git submodule add <test1仓库地址> test1
    git submodule add <test2仓库地址> test2
    # 以此类推添加其他test文件夹
    
  • 后续打开子模块文件夹内的Visual Studio解决方案时,Git Changes列表只会显示该子模块内的变更,与主仓库及其他子模块完全隔离。

方案2:使用git-subrepo工具

这是比子模块更轻量化的工具,无需维护多个独立仓库,就能让单个文件夹拥有独立的Git工作流:

  • 安装git-subrepo工具后,在主仓库根目录为目标文件夹初始化子仓库:
    git subrepo init test4
    
  • 当你处理test4的解决方案时,进入该文件夹操作,Visual Studio的Git Changes面板只会显示test4内的变更文件,其他文件夹的变更不会被加载。

方案3:临时过滤或使用Git工作区

临时路径过滤(快速生效)

在Visual Studio的Git Changes面板中:

  • 点击面板顶部的「Filter」按钮
  • 选择「Path」选项,输入test4/**作为过滤规则,即可只显示test4文件夹内的变更文件。

注意:该过滤是临时设置,切换解决方案后需要重新配置。

Git工作区隔离

使用Git的worktree功能为每个test文件夹创建独立工作区:

  • 在主仓库外执行命令创建test4的独立工作区:
    git worktree add ../test4-worktree test4
    
  • 打开test4-worktree文件夹内的解决方案,所有Git操作和变更列表都只会针对test4的内容,完全不受其他test文件夹变更的影响。

内容的提问来源于stack exchange,提问作者Richard Chambers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:12:35