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

在VS Code中执行Git Commit时出现NoPermissions (FileSystemError)错误

Git提交时VS Code无法读取COMMIT_EDITMSG的权限问题修复

问题描述

我是Git新手,尝试将VS Code配置为core.editor。在终端使用git commit -m "commit message"可成功提交,但使用git commit想在VS Code中输入提交信息时,VS Code弹出错误:

编辑器无法打开,意外错误:无法读取文件'/filepath/.git/COMMIT_EDITMSG' (NoPermissions (FileSystemError): 发生未知错误,请查看日志获取详细信息。)

使用环境:

  • Git版本:2.38.0
  • VS Code版本:1.77.2

已尝试操作:

  • 通过git config core.editor确认VS Code是默认编辑器(返回预期的code --wait)。
  • 在VS Code中执行Shell Command:Install 'code' command in PATH。
  • 卸载并重新安装PATH中的'code'命令。
  • 完全卸载并重新安装VS Code。
  • 将VS Code从下载文件夹移至应用程序文件夹。
  • 删除COMMIT_EDITMSG文件(但会重新生成,再次尝试仍报错)。
  • 检查整个目录权限,确认拥有读写权限。
  • 将默认编辑器改为TextEdit,此时使用git commit可成功在TextEdit中输入提交信息。

另外,可通过git config --global -e在VS Code中正常打开.gitconfig文件。

可行修复方案

1. 给VS Code添加完全磁盘访问权限(macOS)

关闭VS Code,右键点击应用程序目录中的VS Code图标→「显示简介」,勾选「完全磁盘访问权限」,重启VS Code后重试git commit。

2. 修改core.editor的配置参数

尝试用完整路径调用VS Code,避免PATH路径的权限问题:

git config --global core.editor "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code --wait"

或者添加--user-data-dir参数指定用户目录:

git config --global core.editor "code --wait --user-data-dir=$HOME/.vscode"

3. 检查code命令的可执行权限

执行以下命令确认code命令的权限:

ls -l $(which code)

如果权限不足,执行:

chmod +x $(which code)

4. 禁用VS Code扩展排查干扰

重启VS Code到无扩展模式:

code --disable-extensions

此时执行git commit,如果能正常打开文件,说明是某个扩展导致的问题,逐个启用扩展排查定位。

5. 调整Git的共享仓库权限设置

执行以下命令修改Git的临时文件权限配置:

git config --global core.sharedRepository group

如果仅当前仓库有问题,去掉--global参数针对单个仓库设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:02:31