登录
首页 >  Golang >  Go问答

Go Mod 的要求是什么?

来源:stackoverflow

时间:2024-02-11 14:00:25 382浏览 收藏

你在学习Golang相关的知识吗?本文《Go Mod 的要求是什么?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

与如何将 go.mod 中的 go 模块依赖项指向存储库中的最新提交相关?

我在 go.mod 文件中有以下要求

require (
    github.com/onsi/ginkgo v1.16.5
    github.com/onsi/gomega v1.18.1
    k8s.io/api v0.24.2
    k8s.io/apimachinery v0.24.2
    k8s.io/client-go v0.24.2
    sigs.k8s.io/controller-runtime v0.12.2
    sigs.k8s.io/kubebuilder-declarative-pattern v0.11.20220513-0.20220602225619-fe5be9431eae // Added for status (run go mod tidy)

)

最后一句我没看懂。仓库是 https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern 它没有名为 v0.11.20220513 的标签(https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/tags) 它有一个提交标签 fe5be9431eae

有人知道如何转到 v0.11.20220513-0.20220602225619-fe5be9431eae 引用的提交以及每个部分的含义是什么?


正确答案


https://go.dev/ref/mod#pseudo-versions

伪版本是特殊格式预发布版本 在版本控制中对有关特定修订的信息进行编码 存储库。例如,v0.0.0-20191109021931-daa7c04131f5 是 伪版本。

因此,一旦您阅读了上面链接的完整伪版本部分,您就会发现该版本 v0.11.20220513-0.20220602225619-fe5be9431eae由以下三部分组成:

  1. v0.11.20220513:基础版本v0.11.20220512+1。

    vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefabcdef 基本版本时使用 是像 vX.Y.Z 这样的发布版本。例如,如果基本版本是 v1.2.3,伪版本可能是 v1.2.4-0.20191109021931-daa7c04131f5。

  2. 0.20220602225619:时间戳0.yyyymmddhhmmss

    时间戳 (yyyymmddhhmmss),这是创建修订版的 UTC 时间。在 Git 中,这是提交时间,而不是作者时间。

  3. fe5be9431eae:是 commit hash

    修订标识符 (abcdefabcdef),它是提交哈希的 12 个字符前缀,或者在 Subversion 中是一个零填充的修订号。

正如 pseudo-version 所解释的,它的第三部分是提交哈希的 12 个字符的前缀。因此,您可以通过浏览 /commit/ 直接转到存储库上的提交。

就您而言,它是 https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/commit/fe5be9431eae

好了,本文到此结束,带大家了解了《Go Mod 的要求是什么?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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