Windows下Git Gui提示权限拒绝问题求助
问题背景
工作电脑使用Windows版Git GUI两年,重启后(企业杀毒更新+2022年12月Windows更新)出现权限错误:
couldn't open ".git/PREPARE_COMMIT_MSG": permission denied
couldn't open ".git/PREPARE_COMMIT_MSG": permission denied
while executing
"open [gitdir PREPARE_COMMIT_MSG] a"
(procedure "run_prepare_commit_msg_hook" line 8)
invoked from within
"run_prepare_commit_msg_hook"
(procedure "rescan" line 27)
invoked from within
"rescan ui_ready"
(procedure "do_rescan" line 2)
invoked from within
"do_rescan"
("after" script)
Git Bash中git add提示fatal: Unable to create '/path/to/Work/.git/index.lock': Permission denied,但同一电脑个人GitHub仓库正常,安全模式下可执行git add/commit(push因DNS解析失败不可用),Visual Studio 2019可正常操作Git,推测为杀毒或组策略导致权限限制。
解决方案
1. 排查企业杀毒软件拦截
- 检查杀毒软件是否将
git-gui.exe、git.exe、bash.exe加入拦截列表,或对.git文件夹开启了实时锁定/防护 - 临时关闭杀毒实时防护(需企业权限请联系IT),测试Git操作是否恢复
- 若确认是杀毒导致,将仓库目录、Git安装目录添加至杀毒信任白名单
2. 检查组策略/本地安全策略变更
- 运行
gpedit.msc,依次进入计算机配置>Windows设置>安全设置>本地策略>用户权限分配,确认当前用户拥有「创建文件或写入数据」「修改权限」等权限 - 查看计算机配置>管理模板>系统>文件系统下的规则,是否新增禁止写入特定目录的限制
- 发现异常策略请联系IT调整
3. 重置仓库权限继承
- 右键仓库根目录→属性→安全→高级
- 点击「启用继承」,勾选「替换所有子对象权限继承项」,确认后等待权限重置完成
- 重新尝试Git操作
4. 以管理员身份运行Git程序
- 右键Git GUI/Git Bash图标,选择「以管理员身份运行」,测试
git add、commit等操作 - 若有效,可在程序属性→兼容性中勾选「以管理员身份运行此程序」,永久生效
5. 回滚Windows更新
- 打开「设置>更新和安全>查看更新历史记录>卸载更新」,找到2022年12月的更新包卸载,重启后测试问题是否解决
- 若恢复正常,联系IT确认该更新的权限变更内容,再决定是否重新安装
内容的提问来源于stack exchange,提问作者AlainD

