git:致命:检测到可疑的所有权

Mat*_*ech 14 git-for-windows

我使用新的 Windows 安装和网络共享(NAS 系统)上的同一文件夹。安装 git 和 tortoisegit 后,我​​尝试连接到 git 存储库,但总是收到此错误。改变的是服务器而不是用户。

在此输入图像描述

我跑了

git config --global --add safe.directory '*'
Run Code Online (Sandbox Code Playgroud)

但这并没有改变什么。我怎样才能解决这个问题?

在哪里可以设置变量

GIT_TEST_DEBUG_UNSAFE_DIRECTORIES=true
Run Code Online (Sandbox Code Playgroud)

scx*_*scx 25

当存储库由与当前用户不同的用户克隆时,就会发生这种情况。就我而言,我在重新安装 Windows 之后遇到了这个问题,但使用了之前克隆的 git 存储库(在单独的分区上)。

  • 右键单击 repo 文件夹,属性,安全性,高级。
  • 单击所有者行上的“更改”。
  • 查找您的用户(高级...,立即查找,选择您的用户)。确认。
  • 在更改屏幕上,启用“替换子容器和对象的所有者”。

这应该可以修复错误。

如果您打算在克隆的存储库上使用多个用户,那么我会按照 git 说明添加例外。

  • 如果本地 Windows 计算机和网络附加存储 (NAS) 设备之间的 Windows SID(安全标识符)不同 - 例如没有域控制器 (DC) 或两台计算机位于不同的域 - 那么您将收到此错误。除非 NAS 和 Windows 计算机通过 DC 的 Active Directory 系统共享用户凭据,否则无法通过更改文件所有者来修复此问题。例如,Synology NAS 有一个可用的 Active Directory 软件包,可以部署该软件包来向所有客户端提供 Windows 凭据。 (4认同)
  • @user3443139 是的,这就是为什么“如果您打算在克隆的存储库上使用多个用户,那么我会按照 git 说明添加例外。” ;) 这个问题是关于这个问题的最热门的谷歌问题。 (2认同)
  • 我认为您错过了这里的要点 :) 单个用户(一个人)通过 CIFS 在网络共享 (NAS) 上使用 git 存储库时会发生这种情况,除非您有域控制器(或同等设备)来提供单个用户凭据(SID)到所有涉及的机器(OP问题中的NAS +客户端PC)。 (2认同)