升级后出现错误“存储库不属于当前用户”

use*_*883 19 tortoisegit

升级到最新的 tortoise git 后,出现以下错误。当我从命令行提交时,这可以正常工作,不会出现错误。我执行了全局命令,但错误仍然存​​在。

错误弹出窗口

use*_*883 26

MrTux 给出了正确的答案,但在评论中,我只是想确保这被标记为已回答。

在 .gitconfig (我将其添加到全局中)中,这是有效的:

[user]
    name = <your name>
    email = <your email>
[safe]
    directory = *
Run Code Online (Sandbox Code Playgroud)

  • 我不确定在 Windows 计算机上哪里可以找到我的全局 .gitignore。我在 C:\Users\[myusername]\.gitignore 中找到它 (3认同)
  • `directory = *` 这就是有帮助的,ty! (2认同)

小智 8

还有一些对我有用的东西与上述评论相关。

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


MrT*_*Tux 7

此“错误”的根源是Git 中添加的安全检查以解决 CVE 2022-24765。

因此,需要将不属于当前用户的路径上的工作树放在 safe.directory 列表中。

然而,在处理尾部斜杠方面,vanilla Git 和 libgit2 之间似乎存在不一致。为了使 libgit2 正确识别路径为安全路径,路径不能以斜杠结尾。

作为最后的手段,人们还可以添加*完全禁用此安全检查的例外 - 仅当您信任计算机上的所有用户时才执行此操作。.gitconfig(通常位于%HOME%%HOMEDRIVE%%HOMEPATH%,即您的用户配置文件文件夹,参见全局 git 配置数据存储在哪里?)应如下所示:

[safe]
    directory = *
Run Code Online (Sandbox Code Playgroud)

  • 通常 .gitconfig 文件的路径为 C:\Users\MyLogin\.gitconfig 。/sf/ask/147987801/ (3认同)