首页 > 解决方案 > 如何通过它的编号(--count)获取 git commit 哈希

问题描述

我通过命令获得了提交的位置

git rev-list HEAD --count

例如,输出是 1164。我想签出这个提交号。我怎样才能做到这一点?我认为,需要获取此提交的哈希值并通过它的哈希值进行签出。

标签: git

解决方案


这是另一个解决方案:

git rev-list HEAD --reverse | nl | grep <your build number>

git rev-list HEAD --reverse打印出从最旧到最新的所有提交哈希。nl在每一行前面加上一个行号(实际上是count)。最后,好的 ol'grep过滤器只是你想要的行。

您可以将其进一步细化为仅提交哈希awk

git rev-list HEAD --reverse | nl | grep <your build number> | awk '{print $2}'

或者使用 git 别名将其提升到一个新的水平:

git config --global alias.build-number '!f() { git rev-list HEAD --reverse | nl | grep $1 | awk '"'"'{print $2}'"'"'; }; f'

别名用法:

git build-number <your build number>

此处解释了上面 git config 命令中的引用疯狂:https ://stackoverflow.com/a/1250279/320737


推荐阅读