我需要为特定的git分支提取缩写的提交名称。这些通常是7位数字的十六进制数字,它们被某些系统(包括Heroku的COMMIT_HASH环境变量)用来标识特定的提交。干净地获取git分支的缩略语提交
有一些丑陋的方式来获得一个缩写提交的名称,其中包括:
$ git log -1 --oneline | awk '{ print $1 }'
d4377e3
$ git describe --always --match ''
d4377e3
有一个更清洁的方式来获得这个价值?
我需要为特定的git分支提取缩写的提交名称。这些通常是7位数字的十六进制数字,它们被某些系统(包括Heroku的COMMIT_HASH环境变量)用来标识特定的提交。干净地获取git分支的缩略语提交
有一些丑陋的方式来获得一个缩写提交的名称,其中包括:
$ git log -1 --oneline | awk '{ print $1 }'
d4377e3
$ git describe --always --match ''
d4377e3
有一个更清洁的方式来获得这个价值?
大问题。我相信正在寻找git-rev-parse
,这是低级git命令之一。
[[email protected] Data]$ git-rev-parse --short github/master
8b81a38
另外,如果你想要最新提交的当前分支,只是通过HEAD
作为参数。
[[email protected] Data]$ git-rev-parse --short HEAD
8b81a38
git log
的--pretty-format
选项可用于:
git log -1 --pretty=format:%h
给了我无法识别的论据 – JasonPlutext 2012-05-21 08:31:58
我发现pimping-out-git-log有用。
*烦人*迂腐,`git-rev-parse`是一个瓷器命令。为了编写脚本,应该使用管道命令`git rev-list -n1 --abbrev-commit HEAD`来代替。但没关系;) – 2011-02-03 03:30:50