当前位置:   article > 正文

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

【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
  • 1

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

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

2、删除本地 Git Tag

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

git tag -l | xargs git tag -d
  • 1

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

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

三、清除本地所有mod 缓存

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

1、clean -modcache

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

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

go clean -modcache
  • 1

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

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

在这里插入图片描述

3、go mod tidy

最后执行:

go mod tidy 
  • 1
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号