Pro Git手册的Section 10.4 Git Internals - Packfiles包含以下命令:
$ git cat-file -p master^{tree}
我知道master^
是前一个HEAD
,也就是master
分支上的倒数第二个提交,但是之后的{tree}
是什么意思,我可以在哪里读到它?
奇怪的是,以下代码在fatal: Not a valid object name master{tree}
中失败:
$ git cat-file -p master{tree}
1条答案
按热度按时间5rgfhyps1#
格式在git-revisions中解释,在这种情况下,它似乎是实际返回的对象类型的定义:
^{},e.g. v0.99.8^{commit}后缀^后跟括在大括号对中的对象类型名称意味着递归地解引用对象,直到找到该类型的对象或该对象不能再被解引用为止(在这种情况下,barf)。例如,如果是commit-ish,^{commit}描述相应的提交对象。类似地,如果是tree-ish,^{tree}描述了相应的树对象。^0是^{commit}的简写。