【发布时间】:2011-08-19 15:07:37
【问题描述】:
我需要为我们的项目编写一个自动更新脚本。我什么都有,除了我无法确定最新收到的标签的名称。我尝试使用 git describe,但它告诉我最新的签出标签。我当然不需要那个,我必须得到下一个可到达的标签才能结帐。有什么想法吗?
【问题讨论】:
我需要为我们的项目编写一个自动更新脚本。我什么都有,除了我无法确定最新收到的标签的名称。我尝试使用 git describe,但它告诉我最新的签出标签。我当然不需要那个,我必须得到下一个可到达的标签才能结帐。有什么想法吗?
【问题讨论】:
试试这个:
git describe --tags --abbrev=0 branch_name
从所需分支的尖端检索最新标签的名称,而不是HEAD(当前结帐)。
也就是说,如果你的自动更新脚本已经获取了origin master,你可以这样做
git describe --tags --abbrev=0 origin/master
注意:--abbrev=0 使describe 只返回标签名称,末尾没有 sha1。 --tags 使 describe 返回最新的带注释或未注释的标签。有关可能选项的完整讨论,请参阅 git-describe(1)。
【讨论】:
git fetch origin master 然后我可以使用 git describe --tags --abrev=0 origin/master 没有斜线的原始大师不会工作我需要的方式。