如何在不修改全局 git 配置文件的情况下克隆另一个用户拥有的 git 存储库?

问题描述 投票:0回答:1

我希望在共享系统上克隆另一个(受信任的)用户拥有的 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 config
命令可以有效地解决问题,但是(由于我不想在这里解释的原因)我希望能够在不修改 git 配置文件的情况下克隆存储库。

git 手册页讨论了一个选项

-c
,它允许用户在运行 git 命令时覆盖 git 配置选项:

man git

...

-c <name>=<value>

Pass a configuration parameter to the command. The value given will override values from configuration files. The <name> is expected in the same format as listed by git config (subkeys separated by dots).

...

所以我尝试了:

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

但我仍然收到可疑的所有权错误。我尝试了上述命令的不同变体,但没有成功。

谢谢您的帮助。

git git-clone
1个回答
0
投票

使用

--config
运行克隆命令并指定
safe.directory
-

GIT_CONFIG_GLOBAL=/dev/null git -c safe.directory=/path/to/repo/owned/by/other clone /path/to/repo/owned/by/other ./here
© www.soinside.com 2019 - 2024. All rights reserved.