我创建了一个对象标签
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
为什么报告致命?
答案 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
“,直到找到该类型的对象”(因为它已经是标记)。