如何获得git项目的专用标签?

时间:2014-04-09 12:28:20

标签: git

要获取最新标记,我可以通过" git describe"

来实现

但是当我重置为标签时,如何在此专用标签之前获取标签? 甚至它们都指向同一个提交对象。

例如:

efeb8f3 (HEAD, master) Add d.txt

fad2363 (tag: 11.7.0.31) Add c.txt

240dbef (tag: 11.7.0.30, tag: 11.7.0.29) Add b.txt

f8c0b6a (tag: 11.7.0.28, tag: 11.7.0.27) Add a.txt
  1. git reset --hard 11.7.0.30
  2. 我如何获得标签" 11.7.0.29"
    1. git reset --hard 11.7.0.29
    2. 我如何获得标签" 11.7.0.28"
    3. 有什么想法吗?

      非常感谢你

1 个答案:

答案 0 :(得分:0)

您可以使用

获取提交treeish的最后一个标记
git describe --abbrev=0 treeish

因此,如果您想获取HEAD的最后一个标记,则可以执行此操作(如果未指定树形,则隐含HEAD):

git describe --abbrev=0

如果您希望在某些提交之前获取树,您可以使用treeish^获取其父项所在的标记:

$ git describe --abbrev=0 11.7.0.30^
11.7.0.29

您甚至不需要为此重置工作目录或当前分支。


git describe只会为您提供单个最新的提交标记,因此如果您有多个标记指向同一个提交,您将无法使用git describe获取标记。您可以使用git log来获取所有名称:

$ git log --pretty=format:"%d" -1 11.7.0.30
 (tag: 11.7.0.30, tag: 11.7.0.29)