我在我的 linux 工作站上安装了一个新的硬盘。它看起来运作良好。我想在新磁盘中下载一些 repo。所以我执行 git clone XXX
,效果很好。但是当我在文件夹中 cd 并执行 git submodule update --init --recursive
。它失败了
fatal: detected dubious ownership in repository at '/media/data/users/jhu3szh/serialize'
To add an exception for this directory, call:
git config --global --add safe.directory /media/data/users/jhu3szh/serialize
我想也许这只是一个轻微的警告,所以我只是执行了 git config --global --add safe.directory /media/data/users/jhu3szh/serialize
。但是,当我再次执行 git 子模块时,出现了更多类似的错误。 repo 中有很多子模块。
有人可以给我一些解释发生了什么吗?我在google中搜索了错误信息,但我几乎无法获得有用的信息。提前致谢。
原文由 Huihua Jiang 发布,翻译遵循 CC BY-SA 4.0 许可协议
静音所有
safe.directory
警告tl;博士
静音所有与 git 的
safe.directory
系统相关的警告。一定要明白你在做什么。长版
改编自这篇关于 我无法将父目录添加到 Git 中的 safe.directory 的帖子。
我遇到了同样的问题,并通过禁用 安全目录 检查来解决它,这将结束所有“不安全的存储库”错误。
这可以通过运行以下命令1来完成:
这会将以下设置添加到您的全局
.gitconfig
文件中:在禁用之前, 请确保您了解此安全措施 及其 存在的原因。如果您的存储库存储在共享驱动器上,则 不应这样做。
但是,如果您 100% 的时间都是您机器的唯一用户, 并且 您的存储库存储在本地,那么理论上禁用此检查应该不会增加风险。
另请注意,您目前无法将其与文件路径结合起来,这与我的情况相关。 该命令不会将通配符
*
解释为操作员,它只需要"*"
参数来表示“禁用安全存储库检查/将所有存储库视为安全”。1 - 如果这在 Windows 中的特定终端程序中失败,请尝试用双引号而不是单引号将通配符括起来(通过 此 GitHub 问题):
git config --global --add safe.directory "*"