繁体   English   中英

Go Mod 需要什么意思

[英]What does the Go Mod require mean

如何将 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-pattern/stag ) 它有一个提交标签fe5be9431eae

任何人都知道如何将 go 提交给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.YZ 之类的发布版本 例如,如果基础版本为 v1.2.3,则伪版本可能为 v1.2.4 -0.20191109021931-daa7c04131f5。

  2. 0.20220602225619 :是时间戳0.yyyymmddhhmmss

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

  3. fe5be9431eae :是提交 hash

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

正如伪版本所解释的,第三部分是提交 hash 的 12 个字符前缀。 因此您可以通过浏览<repo-path>/commit/<commit-prefix>直接将 go 提交到 repo 上。

在您的情况下,它是https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/commit/fe5be9431eae

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM