【发布时间】:2010-03-28 22:08:00
【问题描述】:
这是 git show-ref -d 的手册页。他们在底部也有一个例子。我仍然无法理解取消引用的作用?
【问题讨论】:
标签: git
这是 git show-ref -d 的手册页。他们在底部也有一个例子。我仍然无法理解取消引用的作用?
【问题讨论】:
标签: git
在 git 中,“普通”(带注释的,不是轻量级的)标签本身就是一个对象,包含元数据和它标记的对象的 SHA1。在the git object model 上的 git 社区书籍的部分中有一张漂亮的图片(滚动到底部)。
因此,当您在普通标签上使用 show-ref 时,它通常会为您提供有关标签对象的信息。使用-d/--dereference 选项,它会将标签解引用到标签所引用的对象中,并提供有关它的信息。
还有一个关于轻量级与注释标签的说明,以防您不知道:轻量级标签是使用 git tag <tag name> 创建的(即没有任何提供元数据的选项,如 -a、@987654326 @ 或 -u)。它根本不是一个标记对象,只是一个直接指向您标记的对象的 ref。如果您提供这些选项之一,您将元数据附加到标签,因此 git 创建一个标签对象来保存它。
【讨论】:
git rev-parse v1.5.0^{} 以获取提交 id 的脚本化方式。"
^{} 后缀是标签的特殊符号;它的意思是“反复取消引用标签,直到找到标签以外的东西”——以防万一你做了一些疯狂的事情,比如用标签标记标签。