在克隆时,`git`只能命名为“origin”吗?

时间:2010-04-03 10:11:57

标签: git

Git是否仅对通过克隆创建的存储库使用远程名称“origin”?

例如,假设我创建了一个存储库,将其放在远程控制器上,并尝试将其再次克隆到同一目录中,其中一个是Git名称的来源?

3 个答案:

答案 0 :(得分:43)

origin是git clone使用的默认名称,但您可以在克隆时使用任何其他名称:

--origin <name>
-o <name>
  

使用origin,而不是使用远程名称<name>来跟踪上游存储库。

如果不这样做,那么无论何时克隆一个仓库,该远程仓库都将被默认名称origin引用。

答案 1 :(得分:17)

如果origin不适合您,您可以随时将其重命名为更合适的名称:

git remote rename <old> <new>

请参阅git remote的说明。

答案 2 :(得分:1)

在Git 2.30(第2021年第1季度)中,“ git cloneman学习了 clone.defaultremotename 配置变量以自定义内容用于调用存储库克隆源的远程的昵称。

请参见commit de9ed3ecommit 75ca390commit ebe7e28commit f2c6fdacommit 444825ccommit 552955e(2020年10月1日)和{{3} }(2020年9月29日)通过commit 349cff7
(由Sean Barag (sjbarag)Junio C Hamano -- gitster --中合并,2020年10月27日)

commit 40696c6:允许-o / --origin

的可配置默认值

帮助者:Junio C Hamano
帮助人:约翰尼斯·辛德林
帮助人:德里克·斯托利
帮助人:Andrei Rybak
签名人:肖恩·巴拉格

虽然可以在克隆时使用clone git cloneorigin更改默认远程名称“ --origin”选项,以前无法为该遥控器的名称指定默认值。
添加对新clone.defaultRemoteName配置的支持,并以优先级顺序解析新创建的远程名称:

  1. (最高优先级)远程名称直接传递给man git clone -o
  2. 配置man中的clone.defaultRemoteName=new_name git clone -c
  3. clone.defaultRemoteName中设置的/path/to/template/config值,其中提供了--template=/path/to/template
  4. 在非模板配置文件中设置的clone.defaultRemoteName
  5. origin的默认值

git config现在包含在其man中:

clone.defaultRemoteName

克隆存储库时要创建的远程服务器的名称。
默认为origin,可以通过传递--origin命令行来覆盖 man page的选项。

git clone现在包含在其git clone中:

而不是使用远程名称origin来跟踪上游 存储库,请使用<name>
从配置中覆盖clone.defaultRemoteName