【发布时间】:2020-08-10 18:44:27
【问题描述】:
我正在寻找一个可以提供以下输出的纯 git 命令:
- 如果在分支“somebranch”中:
[refs/]heads/somebranch - 如果在标签“1.2.3”中:
[refs/]tags/1.2.3
“纯git”的要求是因为我需要它是跨平台的。
路径中的“refs”部分是可选的,但“heads”或“tags”对我来说是必需的。
我尝试了git describe、git name-rev、git show-ref、git symbolic-ref 的不同变体,但它们都不适用于分支和标签。
我得到的最接近的是git symbolic-ref HEAD,但它不适用于标签,因为在签出时它们处于“分离头”状态。
完整的上下文:这旨在在构建自动化环境中运行,以便我可以定期格式化生成的构建和发布工件的名称。从概念上讲,我想设置标志“isMaster”(即签出主分支)和“isTag”(即签出给定标签)。
【问题讨论】:
标签: git build-automation