取消引用分支和标签 rev0 revtype

在某些情况下,命令的行为取决于是否给定分支名称,标记名称或任意修订。如果需要后者,可以使用取消引用语法。

后缀^后跟一个包含在括号对中的对象类型名称(tagcommittreeblob)(例如 v0.99.8^{commit})意味着递归地取消引用 <rev> 上的对象,直到找到 <type> 类型的对象或者该对象不再被解除引用。<rev>^0<rev>^{commit} 的缩写。

$ git checkout HEAD^0    # equivalent to 'git checkout --detach' in modern Git

后缀^后跟空括号对(例如 v0.99.8^{})意味着递归地取消引用标记,直到找到非标记对象。

相比

$ git show v1.0
$ git cat-file -p v1.0
$ git replace --edit v1.0

$ git show v1.0^{}
$ git cat-file -p v1.0^{}
$ git replace --edit v1.0^{}