我需要为特定的git分支提取缩写的提交名称。这些通常是7位十六进制数字,并且它们被某些系统(包括Heroku的COMMIT_HASH环境变量)用于标识特定提交。
有几种丑陋的方法可以获得缩写的提交名称,包括:
$ git log -1 --oneline | awk '{ print $1 }'
d4377e3
$ git describe --always --match ''
d4377e3
有没有更简洁的方法来获得这个价值?
答案 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很有用。