cat-file标签对象报告致命

时间:2012-05-31 08:17:53

标签: git

我创建了一个对象标签

git tag -a tag_1 -m "test tag"

但以下命令报告致命错误:

git cat-file -t tag_1^{tag}
fatal: Not a valid object name tag_1^{tag}

但是,以下一项工作正常:

git cat-file -t master^{commit}
commit

为什么报告致命?

1 个答案:

答案 0 :(得分:0)

git cat-file中用于指定对象的语法是gitrevisions中指定的语法。

<object>
  

要显示的对象的名称   有关拼写对象名称的更完整列表,请参阅gitrevisions(7)中的“SPECIFYING REVISIONS”部分。

它适用于<rev>

<rev>^{<type>}, e.g. v0.99.8^{commit}
  

后缀为^,后跟括号对中的对象类型名称,表示该对象可以是一个标记,并递归取消引用该标记,直到找到该类型的对象或者该对象不再被解除引用(在哪种情况,barf)。
  <rev>^0<rev>^{commit}的缩写。

在这种情况下,我不确定它是否可以取消引用tag_1“,直到找到该类型的对象”(因为它已经是标记)。