go中tag维护方法
util项目:
0 util修改的代码提交
1 从gitlab上获取最新的tag
https://git.****.com/peiyou_like_shuangshi_zhongtai/beibo_utils/tags
2 创建tag: git tag -a v1.101.11 -m "its的ggb查询"
3 tagpush:git push origin v1.101.11
tag引用更新
在项目中修改 go.mod,调整beibo_utils对应的tag
修改后执行如下指令生效:
go mod tidy
go mod vendor
go mod tidy解析
自动更新你的 go.mod
文件以及可能的 go.sum
文件。这个命令会移除不再需要的依赖,并且添加缺少的依赖,确保这两个文件反映了所有其他文件中导入的依赖。
当你运行 go mod tidy
时,Go 工具链会做以下几件事情:
- 添加缺少的模块:如果你的代码中导入了一个模块,但是这个模块没有在
go.mod
文件中列出,go mod tidy
会将它添加进去。 - 移除无用的模块:如果
go.mod
文件中有模块在代码中没有被导入,go mod tidy
会将其移除。 - 根据当前模块的需求和其他模块的需求,可能会更新某些模块的版本。
- 可能会修正
go.sum
文件中的哈希值,以确保依赖的完整性和校验。
这个命令通常在以下情况下使用:
- 在添加、更新或删除代码中的导入语句后,以确保
go.mod
文件是最新的。 - 在拉取项目的新版本或合并了别的分支的更改后,以确保所有依赖都是正确的。
- 在准备提交代码之前,以确保提交的依赖关系是干净和整洁的。
使用 go mod tidy
是 Go 项目维护的一个好习惯,它有助于保持项目依赖的清晰和管理。
go mod vendor解析
用于创建一个 vendor
目录,该目录包含了项目所依赖的包的副本。这个命令会读取你的 go.mod
文件和 go.sum
文件,然后将你的项目所依赖的所有包的特定版本复制到 vendor
目录中。
这个命令在以下情况下特别有用:
- 当你想要确保你的应用程序可以在没有外部依赖源(如 GitHub 或其他代码仓库)可用的情况下构建时。
- 当你想要对所有依赖的确切版本有更严格的控制时。
- 在某些团队或组织的开发流程中,他们可能要求所有依赖都必须被复制到
vendor
目录,以便进行代码审查或满足其他的合规性要求。
要使用 go mod vendor
,你需要在你的项目目录中运行这个命令。它将会根据 go.mod
中的依赖项创建一个 vendor
目录,并将依赖项的源代码复制到这个目录中。
请注意,从 Go 1.14 开始,默认情况下,如果项目根目录中存在 vendor
目录,go build
命令会使用该目录中的依赖来构建项目,除非使用 -mod=mod
标志强制 go build
忽略 vendor
目录。
在使用 vendor
目录时,你应该将其内容纳入版本控制系统,这样其他开发者在获取项目代码时,也会得到相同版本的依赖。