从Git提交中提取树SHA1

3
我正在寻找从git提交中提取顶级树的sha1的方法,通常是从分支末端。
有没有比这更有效的便携式命令序列:git cat-file -p master | egrep -e "^tree [a-f0-9]{40}$" | head -1 | cut -c6-45
这是master分支的顶级树。这需要在Mysgit和普通Linux上都可用。对象sha1值将被分配给一个变量以进行进一步处理。
需要在git cat-file之后通过三个额外的命令进行传递感觉有些过度。
1个回答

4
< p> 对于git checkout master,再跟上git rev-parse HEAD^{tree}呢?


我本该提到的目标是避免检查那棵树,以便时间戳不变且消除I/O操作。话虽如此,我仍需要检查git rev-parse master^{tree}等内容。 - Philip Oakley
是的,我需要的是 git rev-parse <branch>^{tree} 命令,其中的 <branch> 可以是提交 sha1 等。 - Philip Oakley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接