跳转至

客户端左侧资源管理器不显示.git文件夹问题

现象

在 VS Code 中打开一个 Git 仓库项目后,左侧「资源管理器」里找不到 .git 文件夹,即使项目明明已经初始化过 Git(终端执行 git status 正常)。

注意:.git 本身是操作系统层面的「隐藏文件」(以 . 开头的文件/目录),但 VS Code 默认是显示隐藏文件的。真正导致它在资源管理器里消失的,是 VS Code 自带的排除规则,而不是系统隐藏属性。

原因

VS Code 默认在 files.exclude 配置中,把若干版本控制目录(.git.svn.hg 等)从文件树中隐藏掉了。这是官方故意的行为——因为 VS Code 已经通过左侧的「源代码管理」面板接管了 Git 操作,所以默认不在文件树里展示 .git 内部细节。

默认等价于:

{
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true
  }
}

"**/.git": true 这一条就是 .git 文件夹被隐藏的根源。

解决方案

方法一:图形界面设置(推荐)

  1. 打开设置:快捷键 Ctrl + ,(macOS 为 Cmd + ,),或通过菜单 文件 → 首选项 → 设置
  2. 在搜索框输入 files.exclude
  3. Files: Exclude 列表里找到 **/.git 这一项,把前面的勾选去掉即可。

取消勾选后,资源管理器会立即显示出 .git 文件夹。

方法二:直接修改 settings.json

  1. 打开命令面板:Ctrl + Shift + P(macOS 为 Cmd + Shift + P);
  2. 输入并选择 Preferences: Open User Settings (JSON)(用户级)或 Preferences: Open Workspace Settings (JSON)(仅当前项目生效);
  3. 添加如下配置,把 .git 的排除规则显式关闭:
{
  "files.exclude": {
    "**/.git": false
  }
}

因为 **/.git 是 VS Code 的默认值,所以必须用 false 显式覆盖,单纯不写并不会生效。

  • 用户设置:对所有项目永久生效;
  • 工作区设置.vscode/settings.json):只在当前仓库生效,适合「只想在这个项目里看 .git」的场景,也方便跟着项目一起提交给团队。

补充说明

  • 不会影响 Git 功能:显示 .git 文件夹仅仅是让它在文件树里可见,VS Code 的源代码管理、终端里的 git 命令都不受影响。
  • 只想临时看一眼:不需要改设置,可以直接用命令面板 File: Open File / File: Open Folder 手动定位到项目根目录下的 .git 打开,或者用终端 open .git(macOS)/ xdg-open .git(Linux)在文件管理器里查看。
  • 还是看不到? 排查以下几点:
  • 确认项目根目录确实存在 .git(命令行 ls -la 查看);
  • 确认不是被 explorer.excludeGitIgnore 之类扩展影响(正常不会);
  • 若只想看 .gitignore 里被忽略的文件,可在设置里关闭 Explorer > Exclude Git Ignoreexplorer.excludeGitIgnore)。

评论