当前位置: 首页 > news >正文

【golang】go module依赖的git tag被覆盖 如何处理 | 因测试产生大量的git tag 如何清除 最佳实践

一、场景

当我们把本地和远程git仓库的 tag全部删除,我们另外的项目依赖于这个被删除tag无法更新版本
如何处理?

在这里插入图片描述
如上图:
这里我创建了一个 v0.0.1 的tag,然后删除了这个tag,然后又创建了一个新的 v0.0.1的tag,依赖于这个tag的项目无法获取新版本的 v0.0.1

二、如何删除本地、远程Git Tag

如果需要Git Tag的详细使用教程
可以参考如下推文:
【Git】git tag 查看版本号 | 删除本地 | 删除远程仓库| 批量删除

1、删除远程 Git Tag

要批量删除所有远程仓库的标签(tags),你可以使用以下命令:

git tag -l | xargs -n 1 git push --delete origin

这条命令的作用是列出所有标签,然后针对每个标签,执行 git push --delete origin <tagname> 命令以删除远程仓库中对应的标签。

请确保在执行该命令之前备份你的仓库,因为删除操作是不可逆的。

2、删除本地 Git Tag

要清空本地 Git 存储库中的所有标签,可以使用以下命令:

git tag -l | xargs git tag -d

这个命令的作用是列出所有标签,并使用 git tag -d <tagname> 命令来逐个删除每个标签。

执行这个命令后,本地仓库中的所有标签将被删除。请注意,这不会影响远程仓库中的标签。

三、清除本地所有mod 缓存

如果在使用 Go Modules 时遇到了其他依赖包被覆盖,无法获取最新版本的情况,可以尝试以下方法来解决:

1、clean -modcache

清理模块缓存: 有时候本地的 Go 模块缓存可能会过期或损坏,导致获取版本信息出现问题。可以尝试清理本地的模块缓存,然后再次运行 go mod tidy 命令以重新获取最新的模块版本信息。

请谨慎操作,此操作会清除go环境下 所有项目的mod缓存

go clean -modcache

2、手动清除or删除 go.sum

这里如果不删除在执行 go mod tidy ,出现被覆盖的tag的报错

在这里插入图片描述

3、go mod tidy

最后执行:

go mod tidy 
http://www.lryc.cn/news/311400.html

相关文章:

  • Spring Cloud原理详解
  • 力扣76. 最小覆盖子串(滑动窗口)
  • 使用华为云云函数functiongraph
  • Android logcat系统
  • android 使用协程CoroutineScope 实现定时器
  • 【algorithm】算法基础课---排序算法(附笔记 | 建议收藏)
  • UnityShader——09数学知识3
  • langchain学习笔记(九)
  • 周处除三害在线资源最新电影1080p高清
  • STM32CubeIDE基础学习-新建STM32CubeIDE基础工程
  • R语言简介|你对R语言了解多少?
  • Android的硬件接口HAL
  • 【js】数组的常用方法
  • 08. Nginx进阶-Nginx动静分离
  • RPC--一起学习吧之架构
  • 服务器后端是学习java还是php
  • DCFL: for Oriented Tiny Object Detection
  • 代码学习记录11
  • 【LeetCode】第 387 场周赛
  • 基于 Vue3打造前台+中台通用提效解决方案(下)
  • Topaz Video AI:一键提升视频品质,智能重塑影像魅力 mac/win版
  • 高效办公软件中哪个提醒待办事项更有效
  • 牛客练习赛122
  • 软考复习调整策略和学习计划!
  • 1小时网络安全事件报告要求,持安零信任如何帮助用户应急响应?
  • mysql使用连接池
  • 06. Nginx进阶-Nginx代理服务
  • STM32 (1)
  • Spring初始(相关基础知识和概述)
  • 【Swift 周报 第四十七期