我在做
$ git tag
current
tag_example_to_test_task
$ git checkout tag_example_to_test_task
...
HEAD is now at 75fdde3... commit comment text example
$ git name-rev --name-only --tags HEAD
current
$ git describe --exact-match --tags
current
我需要用这样的命令结束执行顺序:
$ git "some command here"
tag_example_to_test_task
怎么做?如何获取当前签出标签的标签名称?
答案 0 :(得分:3)
我认为
git log -n 1 --pretty=format:'%d'
应该这样做。
但是,它会显示当前版本的所有分支和标记的名称。我认为不可能只获得用于检查修订版的单个标签。
答案 1 :(得分:1)
要查找您当前提交的内容,可以使用
git reflog | sed q
要追捕你的上一次结帐:
git reflog | sed '/ checkout: /! d; q'
那会让你感觉像是
b836444 HEAD@{7}: checkout: moving from AMFD to testing
显示自执行git checkout testing
以来您已添加了7次提交。
答案 2 :(得分:0)
如果您需要当前版本的详细信息,请使用git describe
。它将告诉您最后一个标记以及该标记之后的提交数量。人类可读,真的不是为了节目消费。
答案 3 :(得分:0)
这只输出最新提交的标记。
# git log | head -1
commit 507e0647efd7e49aee53b14da970a7c2bf24555b
答案 4 :(得分:0)
这应该可以解决问题:
git tag --points-at=$(git rev-parse HEAD)
git rev-parse HEAD
将获得当前HEAD的SHA256。如果此提交恰好被标记,则将回复此提交。如果未标记当前HEAD,则结果为空。