git - 获取 git 当前分支/标签名称

标签 git branch git-branch git-checkout

如何获取工作副本的当前分支或标签名称?我已经看到指示 rev-parse --abbrev-ref HEAD 将给出分支名称的引用,但是如果 checkout 是标签,这不起作用,在这种情况下它只返回“HEAD” .我需要以某种方式获取这些修订的标签名称。

明确地说,我想要两个可能的名称之一:

  1. 如果当前 checkout 是分支的 HEAD,我想要分支名称
  2. 如果它是一个分离的 HEAD,我想要标签名称(假设有一个标签)

最佳答案

我想你想要这个:

git symbolic-ref -q --short HEAD || git describe --tags --exact-match

这将输出 HEAD 的值,如果它没有分离,或者发出标签名称,如果它完全匹配。否则它会向您显示错误。

关于git - 获取 git 当前分支/标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659425/

相关文章:

windows - 如何将 GIT 调用的输出放入批处理脚本中的变量中?

git - 让用户只推送到他自己的分支

git - 从 git 存储库中删除未引用的提交

git - 如何确保我在正确的分支上启动运行?

git - merge 时解决冲突后提交消息的问题

linux - 将 'git status' 和 find 命令与 mmin 或 mtime 选项结合起来

PHP覆盖冲突

git - 如何判断我的 git repo 是否有冲突?

mercurial - 使用 Mercurial SCM 进行分支

git - 为什么在TFS中看不到分支树?