git - 在 Git 的术语中,`origin` 是 ref 还是别的什么?
问题描述
在 Git 的术语中,是origin
ref 还是别的什么?
origin
在配置文件中定义为配置变量是否正确,remote.origin.url
例如.git/config
?
例如,引用必须是文件.git/refs/heads/*
吗?如果是,origin
仍然可以成为裁判吗?
解决方案
简短的回答:origin
是一个由六个字符组成的字符串。它在任何地方是否有任何意义取决于“任何地方”。
更长的答案:是的,origin
是参考或其他东西。
好的,这还不够长,所以让我们再长一点:
一些 Git 命令会查找远程. 当你运行时
git clone
,如果你不使用该-o
选项,你会得到一个名为的远程origin
,所以:git remote show
将列出
origin
。那是一个有效的遥控器。一些 Git 命令会查找提交说明符或树说明符或类似内容。在这里,如果您使用一串不能被误认为是哈希 ID的字母,Git 将执行gitrevisions 文档中概述的六步解析过程。我不会在这里引用该文档,但请注意,六个步骤之一看起来是否存在。如果是一个有效的远程,并且以通常的方式运行,那么几乎可以肯定有一个有效的可以转换为一个有效的提交哈希 ID。
refs/remotes/name/HEAD
origin
git fetch
refs/remotes/origin/HEAD
因此,当 Git 尝试将其用作origin
ref-name 时,它是一种有效形式的. 当 Git 尝试将它用作一个远程时,它也是一个有效的远程。
请注意,某些 Git 命令会同时查找远程名称和提交说明符。在这种情况下,origin
可以在两个位置使用并具有两种含义:
git push origin origin:newbranch
例如。第一个origin
是遥控器,第二个是参考。
推荐阅读
- ios - 向左/向右滑动单元格数组中的下一个图像 URL
- regex - 使用 sed 提取子字符串
- r - dplyr mutate() 从数据帧匹配时显示 NA 值
- node.js - 结合 Vue.js 如何正确使用 socket.io
- python - 蟒蛇:扁平拉链
- python - Python beautifulsoup loop till date changes
- c# - 我该如何解决这个不正确的语法问题?
- python - 如何提高音频数据分类的准确性
- javascript - 使用javascript将浏览器设置为离线模式
- python-3.x - Python - OpenCv - 梯度计算