有没有一种更干净的方法来从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中获得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 rev-parse --short HEAD
git rev-parse命令可以做很多不同的事情,所以您需要非常仔细地浏览文档才能发现这一点。
其他回答
试试这个:
git rev-parse --short HEAD
git rev-parse命令可以做很多不同的事情,所以您需要非常仔细地浏览文档才能发现这一点。
我有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 describe --always
那么这个呢:
git log --pretty="%h %cD %cn %s"
它显示了如下内容:
674cd0d Wed, 20 Nov 2019 12:15:38 +0000 Bob提交消息
请参阅漂亮的格式文档
git log -1 --abbrev-commit
也会这样做。
git log --abbrev-commit
将列出具有缩写SHA-1校验和的日志项。