我在存储库中有一堆没有注释的标记,我想弄清楚它们指向哪个提交。是否有一个命令只列出标签和它们的提交sha ?检查标签和查看头部似乎有点太费力对我来说。
更新
在检查完响应后,我意识到我实际上想要的只是查看标记之前的历史记录,对于这一点git log <tagname>就足够了。
标记为answer的答案对于获取标记及其提交的列表很有用,这就是我所要求的。通过一点shell hack,我相信可以将这些转换为SHA+Commit消息。
我在存储库中有一堆没有注释的标记,我想弄清楚它们指向哪个提交。是否有一个命令只列出标签和它们的提交sha ?检查标签和查看头部似乎有点太费力对我来说。
更新
在检查完响应后,我意识到我实际上想要的只是查看标记之前的历史记录,对于这一点git log <tagname>就足够了。
标记为answer的答案对于获取标记及其提交的列表很有用,这就是我所要求的。通过一点shell hack,我相信可以将这些转换为SHA+Commit消息。
当前回答
这个怎么样:
git log -1 $TAGNAME
OR
git log -1 origin/$TAGNAME
其他回答
这将得到当前的SHA1哈希值
简化提交哈希
git show <tag> --format="%h" --> 42e646e
提交哈希
git show <tag> --format="%H" --> 42e646ea3483e156c58cf68925545fffaf4fb280
Git revlist -no-walk [tag_name]
可以使用下面,它会给提交哈希 git show -s——format=%H <tag>^{提交}
如果需要简短的提交哈希,git show -s——format=%h <tag>^{commit}
只需使用git show <tag>
但是,它也转储提交差异。要忽略这些差异,使用git log -1 <tag>。(感谢@DolphinDream和@demisx !)
简短的后git -2回答
我知道这个问题已经提出很久了。CB Bailey的答案是100%正确的:git show-ref——tags——abbrev
我更喜欢这个,因为它使用了git标签:
git tag --list --format '%(refname:short) %(objectname:short)'
简单。短。
PS用这个命令将它别名为git标签列表:
git config --global alias.taglist "tag --list --format '%(refname:short) %(objectname:short)'"