
重装系统后,VSCode 提示不安全存储库
使用 git log --show-signature
可以查看相应信息:
PS D:\Documents\Dev\AmenLi> git log --show-signature
fatal: detected dubious ownership in repository at 'D:/Documents/Dev/AmenLi'
'D:/Documents/Dev/AmenLi' is owned by:
(inconvertible) (S-1-5-21-2304596326-4246601666-602107271-1001)
but the current user is:
PHN16-71/Li (S-1-5-21-2807448313-2984031249-2782343905-1001)
To add an exception for this directory, call:
git config --global --add safe.directory D:/Documents/Dev/AmenLi
核心原因:Git 的目录所有权信任机制
Git 从 2.35.2 版本开始引入了一项安全增强功能,旨在防止用户在不知情的情况下执行来自不受信任来源的 Git 命令。当 Git 检测到仓库目录的所有者与当前操作用户不一致时,便会将其标记为“不安全”。
或者显示:fatal: detected dubious ownership in repository at '/path/to/repository'
系统重装后,即使用户名与之前相同,操作系统分配给该用户的 UID(用户 ID)和 GID(组 ID)也可能发生变化。Git 正是通过这些 ID 来识别文件所有者的。因此,尽管仓库文件本身没有改变,但在 Git 看来,仓库的“主人”已经换了,从而触发了安全警报。
重新 Clone 仓库,个人选择
将仓库目录添加为安全目录(推荐):
git config --global --add safe.directory /path/to/your/repository
Linux 下修改权限
似乎可以用 sudo chown -R
修改目录权限,未测试。Windows 下这么改就很麻烦了。