用git的术语来说,“ origin”是引用还是其他?

时间:2019-01-16 01:22:21

标签: git

In git's terminologyorigin是裁判还是其他人?

origin之类的配置文件中将remote.origin.url定义为配置变量.git/config是否正确?

ref必须是例如.git/refs/heads/*的文件吗? 如果是,origin仍然可以作为裁判吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

简短回答:origin是六个字符的字符串。它在任何地方是否有意义取决于“任何地方”。

更长的答案:是的,origin是裁判或其他东西。

好的,那还不够长,所以让我们再走一点:

  • 某些Git命令查找远程。运行git clone时,如果不使用-o选项,则会得到一个名为origin的遥控器,因此:

    git remote show
    

    将列出origin。那是一个有效的遥控器。

  • 某些Git命令查找提交说明符树说明符或类似名称。在这里,如果您使用不能被误认为是哈希ID 的字母字符串,则Git将执行the gitrevisions documentation中概述的六步解析过程。我不会在这里引用该文档,但是请注意,六个步骤之一看起来是看refs/remotes/name/HEAD是否存在。如果origin是有效的远程服务器,并且git fetch以常规方式运行,则几乎可以肯定有一个有效的refs/remotes/origin/HEAD可以转换为有效的提交哈希ID。

因此origin是ref-name的有效形式,当Git尝试将其用作一个时。。当Git尝试将其用作一体时,它也是有效的遥控器。

请注意,一些Git命令会同时查找远程名称​​和提交说明符。在这种情况下,origin可以在两个位置中使用,并且具有两个含义:

git push origin origin:newbranch

例如。第一个origin是远程对象,第二个是参考对象。