In git's terminology,origin
是裁判还是其他人?
在origin
之类的配置文件中将remote.origin.url
定义为配置变量.git/config
是否正确?
ref必须是例如.git/refs/heads/*
的文件吗?
如果是,origin
仍然可以作为裁判吗?
谢谢。
答案 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
是远程对象,第二个是参考对象。