有没有一种更干净的方法来从Git中获得HEAD的短版本哈希?

我想看到相同的输出,我从:

 git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8

我最初使用上面的命令来生成一个版本字符串,但这个更好:

git describe --tags

它将输出诸如0.1.12(标记提交)或0.1.11-5-g0c85fbc(标记后5次提交)之类的字符串。


当前回答

你可以用——pretty=format做任何你想要的格式:

git log -1 --pretty=format:%h 

来自man git log的%h的含义是:

% h 简化提交哈希

要查看其他格式选项,请参阅man git log并搜索以短语“扩展到从提交中提取的信息的占位符:”开头的部分。

其他回答

git log -1 --abbrev-commit

也会这样做。

git log --abbrev-commit

将列出具有缩写SHA-1校验和的日志项。

一个非常简单的方法是:

git describe --always

试试这个:

git rev-parse --short HEAD

git rev-parse命令可以做很多不同的事情,所以您需要非常仔细地浏览文档才能发现这一点。

查看Git提交简短版本和Git提交消息的简单方法是:

git log --oneline

注意,这是对

git log --pretty=oneline --abbrev-commit

带有短散列和最后注释的分支:

git branch -v

  develop      717c2f9 [ahead 42] blabla
* master       2722bbe [ahead 1] bla