[英]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
由以下三个部分组成:
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。
0.20220602225619
:是时间戳0.yyyymmddhhmmss
。
时间戳 (yyyymmddhhmmss),它是创建修订的 UTC 时间。 在 Git 中,这是提交时间,而不是作者时间。
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.