安装Git for Windows 2.35.2后提示 fatal: unsafe repository (‘[.git directory]’ is owned by someone else)

安装Git for Windows 2.35.2后,操作git时会提示:

fatal: unsafe repository ('[.git directory]' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory "[.git directory]"

这是因为Git for Windows 2.35.2修复了CVE-2022-24765漏洞(https://github.com/git-for-windows/git/security/advisories/GHSA-vw2c-22j4-2fh2 )导致的安全限制。

修复方法一:加入全局safe.directory

按照提示,将提示中指定的[.git directory]目录,加入全局safe.directory

git config --global --add safe.directory "[.git directory]"

修复方法二:将指定的[.git directory]目录所有者账号,改为git命令的操作用户账号

比如如果你是以admin用户登录Windows和使用TortoiseGit,那么当出现上述提示时,就将对应[.git directory]目录所有者账号,改成admin用户。

而当这种情况出现在Windows服务时,就需要将对应[.git directory]目录所有者账号,改成服务运行的所有者。一个例子是在Windows安装gogs等git服务器。当gogs页面报500错误,提示“fatal: unsafe repository (‘[.git directory]’ is owned by someone else) To add an exception for this directory, call: git config –global –add safe.directory “[.git directory]””时,则需要将gogs的”[repository]->ROOT”目录(在配置文件app.ini中)的所有者,更改为运行gogs服务的所有者(在“计算机管理->服务->指定的gogs服务(图片为gogs)”可以找到)

参考:

https://github.blog/2022-04-12-git-security-vulnerability-announced/

https://stackoverflow.com/questions/71849415/i-cannot-add-the-parent-directory-to-safe-directory-in-git

https://github.com/actions/checkout/issues/760

本页永久链接:https://www.orztip.com/?p=669&article_title=git-for-windows-2-35-2-fix-cve-2022-24765-but-raise-error-fatal-unsafe-repository-repo-is-owned-by-someone-else