I want a git command that simply outputs the SHA of an arbitrary object (commit, tree, blob, whatever). Basically:
$ git sha HEAD
7b78f727c91edc7726f3c31113bc7b1509fea163
$ git sha master^:CHANGELOG
0dcc5f003ed89c30a8d0376a29d546c20449fd90
...and so forth. This should be the simplest thing in the world, but I can't figure out a good way of doing it. I don't mind using an alias to a complex, option-laden git command, but it seems like I must just be missing a really simple dereference command that git must surely use under the hood all the time.