首页 > 解决方案 > 管道 git rev-parse 哈希

问题描述

命令

git cat-file -p 3b18e512dba79e4c8300dd08aeb37f8e728b8dad

在屏幕上打印上面哈希引用的文件的内容,ahello.txthello world在里面。

命令

git rev-parse 3b18e512d

相反,仅通过引用第一个十六进制来获取整个哈希是一种精明的捷径。

现在,我怎样才能将输出传递git rev-parsegit cat-file -p上面?

我试过了

git cat-file -p | git rev-parse 3b18e512d

但没有成功,即使这通常是我通过不同命令管道输出时的方式。

标签: gitpipe

解决方案


假设您使用的是 Bash,您可以说:

git cat-file -p $(git rev-parse 3b18e512d)

如果您想git-cat-file从管道中读取其输入,则必须传递--batch选项

git rev-parse 3b18e512d | git cat-file --batch

请记住,这--batch将打印出对象的原始内容,同时-p应用一些格式(又名“漂亮打印”),因此这两个命令不会产生相同的输出。


推荐阅读