我有一个 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 的一个错误,其中有一个未填充的模板元素。
我确实尝试按照建议创建异常但没有成功:
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-dubious-ownership-in-repositor:
我也尝试了以下操作,但我不确定这在共享驱动器上如何工作:
takeown.exe /f //mynas/myuser/project /r /d y
这也没有用。
答案1
"*"
我确实发现了问题所在。添加例外时,使用双引号而不是单引号至关重要'*'
git config --global --add safe.directory "*"
因此,运行上述命令后,我终于可以检查我的文件了。
我确实在上面提到的帖子中找到了有帮助的评论:https://stackoverflow.com/a/73100228/784318