$ go get foo@'<v1.6.2'使用分支名称,可以不考虑其是否有语义学版本,而更新为最新的分支提交 。
$ go get foo@master版本升降级后,需测试是否有不兼容问题:
$ go test all3.4 模块版本发布
发布前执行如下命令,以删减未使用的包 。
go mod tidy然后执行如下命令,保证兼容性 。
go test all然后发布时,需将go.sum文件与go.mod一起提交 。
发布v2及以上版本时需注意满足语义学版本引用规则,版本需包含在模块路径及引用路径中 。创建一个v2及以上的版本,有如下两种方式:
【一文详细了解 Go Module】a)不创建子文件夹
go.mod文件包含vN路径(如:module github.com/my/module/v3),模块内的包引用亦需修改为包含版本的格式(如:import "github.com/my/module/v3/mypkg") 。
b)创建子文件夹
创建vN子文件夹,且将go.mod放至该文件夹下,模块路径需以/vN结尾,然后将代码拷贝至vN子文件夹下,然后更新模块内的包引用路径(如:import "github.com/my/module/v3/mypkg") 。
最后,创建一个满足语义学版本的tag,推送至仓库即可 。
但需注意子模块的情形,该种情形tag需包含前缀 。
如,我们有模块example.com/repo/sub/v2,然后想发布版本v2.1.6,仓库为example.com/repo,子模块定义在sub/v2/go.mod,提交时tag需命名为sub/v2.1.6 。
推荐阅读
- 机器学习算法中的7个损失函数的详细指南
- 一文讲清楚抖音电商“FACT经营矩阵”模型
- 新增功耗 买新手机,在处理器上你需要了解的方面
- 老人咳嗽有痰吃什么好的快,饮食需了解
- 带你了解分布式架构的前世今生
- 这篇文章把 Linux 系统讲的如此详细,看完你一定会有质的飞跃
- 新型降血糖口服药物——DPP-4抑制剂,你了解多少
- 加碘盐,您了解吗?
- 忽悠了我们十几年的白酒骗局,以及高端酒“猫腻”,你都了解吗?
- 汽车故障灯你认识几个?为了行车安全,这些有必要了解
