在git存储库中,我想“预指定”远程服务器,以便在克隆存储库时将远程服务器预加载到克隆的.git/config
中吗?这合理可行吗?如果可以,怎么办?
答案 0 :(得分:3)
Git不允许您那样影响存储库的配置。
一个常见的解决方案是在您的存储库中分发一个脚本,该脚本将执行必要的存储库配置:设置远程控制,挂钩等。然后,如果人们需要该特定配置,则可以指示他们运行该脚本。
答案 1 :(得分:0)
不是,不是,但是请参阅下面的步骤4。
git clone
命令以一些特殊的角问题为模,等效于:
mkdir target
,其中 target 是从您要克隆的URL派生的(如果您为git clone
提供现有空目录的名称,则会跳过)。后续操作在目标目录中运行。git init
git remote add remote url
。这里的 remote
默认为origin
,但是您可以指定其他名称。git config
命令(-c
或--config
)。git fetch remote
。git checkout branch
,其中 branch
是您在命令行上指定的,或者是由Git指示从中获取步骤4的那个。默认情况下,内置远程控制器origin
是通过git remote add
的等效项进行配置的,但它等效于:
git config remote.<remote>.url <url>
git config remote.<remote>.fetch '+refs/heads/*:refs/remotes/<remote>/*'
(以明显的方式替换尖括号)。
这意味着,如果您可以说服人们跑步:
git clone \
-c remote.abc.url=ssh://example.com/path/to/abc.git \
-c remote.abc.fetch='+refs/heads/*:refs/remotes/abc/*' \
ssh://example.com/path/to/repo.git
(而不只是git clone ssh://example.com/path/to/repo.git
),然后,他们将有一个已配置的abc
遥控器。但这取决于运行git clone
的人:您的repo.git
不能以相同的方式直接影响他们的.git/config
。