go中标签创建与引用

devtools/2024/12/22 14:30:13/

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 目录时,你应该将其内容纳入版本控制系统,这样其他开发者在获取项目代码时,也会得到相同版本的依赖。


http://www.ppmy.cn/devtools/19328.html

相关文章

玄子Share-Shell编程之条件语句

玄子Share-Shell编程之条件语句 条件测试操作 test命令 测试表达式是否成立,若成立返回0,否则返回其他数值 格式1:test 条件表达式 格式2:[ 条件表达式 ] # 至少应有一个空格文件测试 [ 操作符 文件或目录 ][rootlocal…

状态模式:管理状态转换的策略

在软件设计中,某些对象在其生命周期内会有不同的状态,并且这些状态之间可以相互转换。状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为。这个模式将各种状态转移逻辑封装在独…

村庄集中式生活废水处理设备技术工艺

诸城市鑫淼环保小编带大家了解一下村庄集中式生活废水处理设备技术工艺 工艺: 生物接触氧化法指由浸没在污水中的填料和曝气系统构成的污水处理方法,在有氧条件下,污水与填料表面的生物膜广泛接触,使污水得到净化。填料指在污水处…

ollama集成open-webui本地部署大模型应用

文章目录 概述安装ollama运行指定模型命令帮助docker 安装 webuiWebUI与ollama在同一台机器WebUI与ollama不在同一台机器(推荐)更新open-webui离线安装open-webui使用验证访问导入模型文件参考资料概述 ollama是一款在本地启动并运行大型语言模型的工具,主要功能是在 Docke…

c++ opencv

文章目录 错误1. C2039 "channels": 不是 "cv::DataType<_Tp>" 的成员2. 注意cv::mat的类型3. cv::mat求inv4. vector subscript out of range5. 使用determinant求行列式注意点 其他1.Vec3b的赋值与访问2. cv::mean3. 将cv::mat三通道改为单通道且保…

第二章:计算机系统基础知识之计算机网络

计算机网络 计算机网络是利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来&#xff0c;并依靠网络软件及通信协议实现资源共享和信息传递的系统。   计算机网络技术主要涵盖通信技术、网络技术、组网技术和网络工程等四个方面。 计算机…

安装 wsl-ubuntu 24.04

安装 wsl-ubuntu 24.04 1. 安装 Ubuntu-24.042. (可选)配置阿里云软件源3. 系统更新 1. 安装 Ubuntu-24.04 安装 Ubuntu-24.04&#xff0c;默认会安装在 C 盘&#xff0c; wsl --install -d Ubuntu-24.04导出 Ubuntu-24.04&#xff0c; wsl --export Ubuntu-24.04 D:\tmp\Ub…

Mac如何更换终端默认的python版本

一、Mac中如何更换终端默认的python版本 1、打开终端输入下列代码&#xff0c;打开配置文件 open ~/.bash_profile 2.在打开的配置文件中输入&#xff08;以下代码3.12替换为所下载的版本即可&#xff09; #下面是修改python版本的命令就是环境变量 export PYTHON_HOME/Lib…