如何为默认远程名称设置gitconfig?

Chr*_*olf 7 git tortoisegit

我想使用全局gitconfig文件设置我的git(TortoiseGIT),以便克隆存储库时的默认远程名称不是"origin",而是由我定义的其他文本(例如"foo").

这可能吗?哪些指令是那些?

谢谢

编辑:我的意图是,我为不同的独立任务(文档!)创建了几个较小的存储库,我厌倦了每次修改远程名称,因为它可以使用共享给其他用户.所以遥控器的名称应该是我的机器名称,以避免混淆其他git版本.我知道这不是最佳实践,但这就是生活:(.

mea*_*gar 6

没有全局配置选项.git clone --origin foo <source>克隆它时,您必须使用更改"origin"存储库的名称:

--origin <name>, -o <name>  
   Instead of using the remote name origin to keep track of the upstream
   repository, use <name>.
Run Code Online (Sandbox Code Playgroud)

  • 这确实会改变我克隆存储库的时间的名称.我希望能够指定一次名称,从那时起,所有克隆操作都应该使用该名称. (2认同)
  • 听起来像补丁是有序的。 (2认同)
  • 到 2015 年,这仍然是真的吗?我暗暗希望他们在过去四年中添加了一个新的配置选项...... (2认同)
  • http://coala.io 建议新手使用“upstream”,因为网上有太多“有用”的脚本,它们假设“origin”是分叉,或者是分叉,他们搬起石头砸自己的脚,他们归咎于该工具。如果它们没有起源,大多数破坏性脚本都会提前失败。 (2认同)

Ada*_*ura 6

Git 2.30.0 (2020-12-27) 引入了clone.defaultRemoteName配置值,描述如下:

克隆存储库时要创建的远程名称。默认为origin, 可以通过将--origin命令行选项传递给git-clone[1]来覆盖。

同时--origin命令行选项的git-clone描述更改为:

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

获得使用价值

git config --get clone.defaultRemoteName
Run Code Online (Sandbox Code Playgroud)

默认值origin似乎是通过源代码中的硬编码添加的,因为如果您没有此配置值,则会收到错误(缺少密钥)。但是,如果您至少使用 Git 2.18.0 (2018-06-21),则有一个--default命令行选项git-config,可简化为:

git config --default origin --get clone.defaultRemoteName
Run Code Online (Sandbox Code Playgroud)

如何设置该值取决于您想要设置它的范围,但它与任何其他配置值没有什么不同,因此关于该主题(设置 Git 配置值)应该有很多帮助。