干净利落地获取git分支的abbrev-commit

时间:2011-02-03 02:40:41

标签: git

我需要为特定的git分支提取缩写的提交名称。这些通常是7位十六进制数字,并且它们被某些系统(包括Heroku的COMMIT_HASH环境变量)用于标识特定提交。

有几种丑陋的方法可以获得缩写的提交名称,包括:

$ git log -1 --oneline | awk '{ print $1 }'
d4377e3
$ git describe --always --match ''
d4377e3

有没有更简洁的方法来获得这个价值?

3 个答案:

答案 0 :(得分:8)

好问题。我相信正在寻找git-rev-parse,这是一个低级别的git命令。

[jason@star Data]$ git-rev-parse --short github/master
8b81a38

此外,如果您想在当前分支上进行最新提交,只需将HEAD作为参数传递。

[jason@star Data]$ git-rev-parse --short HEAD
8b81a38

答案 1 :(得分:2)

可以使用

git log的{​​{1}}选项:

--pretty-format

答案 2 :(得分:1)

我发现pimping-out-git-log很有用。