有没有一种更干净的方法来从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 log --pretty="%h %cD %cn %s"
它显示了如下内容:
674cd0d Wed, 20 Nov 2019 12:15:38 +0000 Bob提交消息
请参阅漂亮的格式文档
其他回答
我有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 rev-parse --short HEAD
git rev-parse命令可以做很多不同的事情,所以您需要非常仔细地浏览文档才能发现这一点。
git log -1 --abbrev-commit
也会这样做。
git log --abbrev-commit
将列出具有缩写SHA-1校验和的日志项。
你可以用——pretty=format做任何你想要的格式:
git log -1 --pretty=format:%h
来自man git log的%h的含义是:
% h 简化提交哈希
要查看其他格式选项,请参阅man git log并搜索以短语“扩展到从提交中提取的信息的占位符:”开头的部分。
带有短散列和最后注释的分支:
git branch -v
develop 717c2f9 [ahead 42] blabla
* master 2722bbe [ahead 1] bla