取消引用分支和标签 rev0 revtype
在某些情况下,命令的行为取决于是否给定分支名称,标记名称或任意修订。如果需要后者,可以使用取消引用语法。
后缀^
后跟一个包含在括号对中的对象类型名称(tag
,commit
,tree
,blob
)(例如 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^{}