You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不修改全局Git配置,如何克隆其他用户的Git仓库?

解决共享系统中克隆其他用户Git仓库的可疑所有权问题

问题回顾

在共享系统中克隆其他可信用户的Git仓库时,新版Git的安全检查会阻止操作,报错如下:

git clone /path/to/repo/owned/by/other ./here

fatal: detected dubious ownership in repository at '/path/to/repo/owned/by/other'

To add an exception for this directory, call:

    git config --global --add safe.directory /path/to/repo/owned/by/other/.git

希望无需修改全局或本地Git配置即可完成克隆,尝试用git -c参数传递配置但未成功。

原因分析

你之前使用-c参数时路径有误:safe.directory需要指向仓库根目录,而非.git子目录。另外,部分场景下-c参数的配置加载时机可能晚于源仓库的安全检查,导致仍触发错误。

解决方法

方法1:修正-c参数的路径

将safe.directory的值改为仓库根目录,而非.git子目录,重新执行命令:

git -c safe.directory=/path/to/repo/owned/by/other clone /path/to/repo/owned/by/other ./here

方法2:使用临时环境变量跳过配置修改

如果方法1仍无效,可通过GIT_SAFE_DIRECTORIES环境变量临时添加安全目录,无需修改任何配置文件:

# 仅信任目标仓库目录(推荐)
GIT_SAFE_DIRECTORIES="/path/to/repo/owned/by/other" git clone /path/to/repo/owned/by/other ./here

若你完全信任共享系统中的所有仓库(仅限可信环境),可使用通配符简化命令:

GIT_SAFE_DIRECTORIES="*" git clone /path/to/repo/owned/by/other ./here

方法3:临时使用自定义配置文件

创建临时配置文件并通过环境变量指定,克隆完成后清理临时文件:

# 生成临时配置文件,添加目标仓库到安全目录
echo "safe.directory = /path/to/repo/owned/by/other" > /tmp/git_temp_config
# 用临时配置执行克隆操作
GIT_CONFIG_GLOBAL=/tmp/git_temp_config git clone /path/to/repo/owned/by/other ./here
# 清理临时文件
rm /tmp/git_temp_config

内容的提问来源于stack exchange,提问作者lige

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:07:16