go中标签创建与引用

发布于:2024-04-26 ⋅ 阅读:(18) ⋅ 点赞:(0)

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 工具链会做以下几件事情:

  1. 添加缺少的模块:如果你的代码中导入了一个模块,但是这个模块没有在 go.mod 文件中列出,go mod tidy 会将它添加进去。
  2. 移除无用的模块:如果 go.mod 文件中有模块在代码中没有被导入,go mod tidy 会将其移除。
  3. 根据当前模块的需求和其他模块的需求,可能会更新某些模块的版本。
  4. 可能会修正 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 目录时,你应该将其内容纳入版本控制系统,这样其他开发者在获取项目代码时,也会得到相同版本的依赖。