我有一个 Windows 盒子,我可以在其中查看 Github 存储库。然后我进行更改并提交该更改,然后收到有关与文件所有权相关的用户不匹配的奇怪错误消息:
git clone https://github.com/XYZ/repo
git add *
git commit -m "make a change"
git push
错误信息:
fatal: detected dubious ownership in repository at '//mynas/myuser/project'
'//mynas/myuser/project' is owned by:
'S-1-0-0'
but the current user is:
'S-1-5-21-1666234352-720225400-1659653562-1007'
To add an exception for this directory, call:
git config --global --add safe.directory '%(prefix)///mynas/myuser/project'
一方面,我的%(prefix)
部分看起来有点像 git 的 bug,其中的模板元素未填充。
我确实尝试按照建议创建异常,但没有成功:
git config --global --add safe.directory '%(prefix)///mynas/myuser/project'
git config --global --add safe.directory '///mynas/myuser/project'
我什至尝试了通配符:
git config --global --add safe.directory '*'
我做了一些研究,发现了删除给定目录所有权的建议,如https://stackoverflow.com/questions/72978485/git-submodule-update-failed-with-fatal-Detected-duious-ownership-in-repositor中的建议:
我也尝试过以下操作,但我不确定这在共享驱动器上如何工作:
takeown.exe /f //mynas/myuser/project /r /d y
这也不起作用。
我确实发现了问题所在。
"*"
添加异常时,使用双引号而不是单引号至关重要'*'
因此,运行上面的命令后,我终于可以检查我的文件了。
我确实在上面提到的线程中找到了帮助评论:https://stackoverflow.com/a/73100228/784318