Windows 11下Sourcetree添加adm.php到Git暂存区报错Invalid argument如何解决?
解决方案
原因说明
Windows系统默认存在一批系统保留文件名,Git for Windows 开启core.protectNTFS配置(默认开启)时,会阻止对疑似保留名的文件执行读写操作,就会触发你遇到的open("adm.php"): Invalid argument报错,也有可能是文件被占用、权限不足导致该问题。
无需重命名的解决方法
- 方法1:调整Git的NTFS保护配置
仅对当前仓库生效的配置命令:
如果你需要全局生效,可执行:git config core.protectNTFS false
配置完成后重启Sourcetree,再执行添加文件的操作即可。git config --global core.protectNTFS false
注意:关闭该配置后,后续拉取/提交其他文件时,若存在符合Windows保留名的特殊文件,Git不会再主动拦截,请注意甄别文件安全性。 - 方法2:排查文件占用与权限问题
先关闭所有正在读取该文件的编辑器、后台程序,右键点击adm.php选择「属性」-「安全」,确认当前登录的Windows用户拥有该文件的「读取」「写入」权限,如有缺失可手动添加权限后重试操作。 - 方法3:使用原生Git命令行操作
打开仓库根目录的PowerShell/CMD窗口,直接执行暂存命令:
若命令行执行成功,返回Sourcetree刷新即可看到已经暂存的文件,后续提交操作可正常在Sourcetree中完成。git add -f adm.php
内容的提问来源于stack exchange,提问作者r3zzel
相关产品推荐
相关产品推荐

