[英]How to get latest tag in github using git2go in Golang?
我正在尝试从 golang 的本地存储库中获取最新的 github 标记。 现在我得到了所有的标签,代码如下:
repo, err := git.OpenRepository("/home/defiant/Temp/repo")
checkErr(err)
re, err := repo.Tags.List()
checkErr(err)
fmt.Println(re)
返回的结果格式为:
[0.1 1.3 1.4]
这里 1.3 是最新的标签。 那么有人可以帮我只获取最新的标签吗?
您正在寻找的位是signature
对象(它有一个when
字段)。 在提交时,您可能对author
或committer
感兴趣。 如果您自己使用带annotated
标签 - 它们具有tagger
提交时的tagger
字段。
如果您只有带注释的标签(即没有轻量级),这应该为您提供标签的时间戳:
repo, err := git.OpenRepository("/home/defiant/Temp/repo")
if err != nil {
panic(err)
}
err = repo.Tags.Foreach(func(name string, id *git.Oid) error {
tag, err := repo.LookupTag(id)
if err != nil {
return err
}
log.Info(tag.Tagger().When)
return nil
})
使用轻量级标签,您将需要直接解决提交问题——您应该能够使用LookupCommit
来做到这一点,并明确选择committer
或author
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.