有没有一种更干净的方法来从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次提交)之类的字符串。


当前回答

一个非常简单的方法是:

git describe --always

其他回答

一个非常简单的方法是:

git describe --always

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

git branch -v

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

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

git log --oneline

注意,这是对

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

我有Git 2.7.4版本,设置如下:

git config --global log.abbrevcommit yes
git config --global core.abbrev 8

当我这样做的时候:

git log --pretty=oneline

我得到一个8位数字的简短提交id:

ed054a38 add project based .gitignore
30a3fa4c add ez version
0a6e9015 add logic for shifting days
af4ab954 add n days ago
...

那么这个呢:

git log --pretty="%h %cD %cn %s"  

它显示了如下内容:

674cd0d Wed, 20 Nov 2019 12:15:38 +0000 Bob提交消息

请参阅漂亮的格式文档