登录
首页 >  Golang >  Go问答

伪造的版本中缺少标签

来源:stackoverflow

时间:2024-03-11 19:15:27 466浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《伪造的版本中缺少标签》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

当从支持 go.mod 的模块中导入 gopath 样式依赖项时,我得到了一个神秘的伪版本。

$ cd $(mktemp -d)
$ go mod init github.com/foo/test
go: creating new go.mod: module github.com/foo/test
$ go get github.com/bar/api@master
$ cat go.mod 
module github.com/foo/test

go 1.12

require (
    github.com/bar/api v3.9.1-0.20190923092516-169848dd8137+incompatible // indirect
)
$

github.com/bar/api 存储库仅定义了 v3.9.0 标记。 master 分支在此之前有一些提交。

有谁知道 v3.9.1 标签是从哪里获取的?该标签不存在。提交 id 169848dd8137 确实指向 headmaster,但未标记。难道只是 go mod 只是聪明地说嘿,在 v3.9.0 标签之后提交意味着 v3.9.1 的某个版本?


解决方案


这是一个“伪版本”,解释如下:

https://tip.golang.org/cmd/go/#hdr-Pseudo_versions

简而言之,由于您选择了 @master,它会使用 master 分支上最新提交的时间戳和哈希值创建此版本。版本号是根据最新标签 +1 修订版生成的。

这是预期的行为。这是上述链接中的信息 -

理论要掌握,实操不能落!以上关于《伪造的版本中缺少标签》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>