获取任意git对象的SHA的最简单方法是什么?

Jam*_*lay 5 git

我想要一个git命令,它只输出任意对象的SHA(commit,tree,blob等).基本上:

$ git sha HEAD
7b78f727c91edc7726f3c31113bc7b1509fea163
$ git sha master^:CHANGELOG
0dcc5f003ed89c30a8d0376a29d546c20449fd90
Run Code Online (Sandbox Code Playgroud)

......等等.这应该是世界上最简单的事情,但我无法找到一个好方法.我不介意使用复杂的,带有选项的git命令的别名,但似乎我必须错过一个非常简单的取消引用命令,git必须始终在引擎盖下使用.

Chr*_*sen 6

出于你给出的目的,你git sha的确是git rev-parse.

% git rev-parse HEAD
47753f420d6ec7d84f8705e9acb67693745b4a8b
% git rev-parse origin/pu^:Documentation/RelNotes-1.7.1.txt
9d89fedb36b4d6fa7c8a6a8487cc47b4ca542e3a
Run Code Online (Sandbox Code Playgroud)