欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang的Pseudo-versions使用問題解析

 更新時間:2023年07月20日 12:01:29   作者:codecraft  
這篇文章主要為大家介紹有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪了golang的Pseudo-versions使用問題解析,

本文主要研究一下golang的Pseudo-versions

Pseudo-versions

定義

Pseudo-versions,中文大概是偽版本的意思,就是沒有打語義版本tag(semantic version tags)的會使用偽版本

格式

類似v0.0.0-yyyymmddhhmmss-abcdefabcdef,中間的時間為UTC時間(東八區(qū)為utc+8),最后的12位為git commit的hash的前12位

forms

vX.0.0-yyyymmddhhmmss-abcdefabcdef

如果之前都沒有major的語義版本tag則其Pseudo version第一部分為vX.0.0

vX.Y.Z-pre.0.yyyymmddhhmmss-abcdefabcdef

在vX.Y.Z-pre(v3.9.0-pre)版本之后提交的commit,其Pseudo version第一部分為vX.Y.Z-pre.0(v3.9.0-pre.0)

vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefabcdef

在vX.Y.Z(v3.9.0)版本之后提交的commit,其Pseudo version第一部分為vX.Y.(Z+1)-0(v3.9.1-0)

+incompatible

對于有些依賴沒有go.mod的,go.sum會出現(xiàn)+incompatible,比如

github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=

問題

基于分支commit的版本在改commit被刪除之后會導致go mod invalid version

比如從特性分支合并到主干的時候采用git merge --squash且同時刪除特性分支的方式會造成依賴之前依賴特性分支的commit丟失,最后導致依賴這個commit的工程無法build

基于tag的版本在tag被刪除的時候,也會出現(xiàn)go mod invalid version

其他語言諸如java的maven,由倉庫管理,除非特殊情況,一般不會去倉庫刪除版本,一般不會有誤操作。go的這點也要特別注意,在刪除tag的時候要小心。

小結

go的Pseudo-versions有點類似maven的snapshot的概念,都是基于時間戳的方式,不過go的倉庫是基于git倉庫的,所以帶上了commit的hash信息。但是要特別注意go mod invalid version的問題。

以上就是golang的Pseudo-versions使用問題解析的詳細內容,更多關于golang使用Pseudo-versions的資料請關注腳本之家其它相關文章!

相關文章

  • Go語言學習之Switch語句的使用

    Go語言學習之Switch語句的使用

    這篇文章主要通過一些示例為大家介紹一下Go語言中Switch語句的基本語法以及使用,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-06-06
  • 基于Go語言實現(xiàn)一個壓測工具

    基于Go語言實現(xiàn)一個壓測工具

    這篇文章主要為大家詳細介紹了基于Go語言實現(xiàn)一個簡單的壓測工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • Golang中基礎的命令行模塊urfave/cli的用法說明

    Golang中基礎的命令行模塊urfave/cli的用法說明

    這篇文章主要介紹了Golang中基礎的命令行模塊urfave/cli的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • go數(shù)據(jù)結構和算法BitMap原理及實現(xiàn)示例

    go數(shù)據(jù)結構和算法BitMap原理及實現(xiàn)示例

    這篇文章主要為大家介紹了go數(shù)據(jù)結構和算法BitMap原理及實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Go語言JSON編解碼神器之marshal的運用

    Go語言JSON編解碼神器之marshal的運用

    這篇文章主要為大家詳細介紹了Go語言中JSON編解碼神器——marshal的運用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09
  • Go?mod?replace使用方法及常見問題分析

    Go?mod?replace使用方法及常見問題分析

    這篇文章主要為大家介紹了Go?mod?replace使用方法及常見問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • GORM中Model和Table的區(qū)別及使用

    GORM中Model和Table的區(qū)別及使用

    Model?和Table是兩種與數(shù)據(jù)庫表交互的核心方法,但它們的用途和行為存在著差異,本文主要介紹了GORM中Model和Table的區(qū)別及使用,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • gRPC超時攔截器實現(xiàn)示例

    gRPC超時攔截器實現(xiàn)示例

    這篇文章主要為大家介紹了gRPC超時攔截器實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • go?tool?pprof?參數(shù)?'-base'?和?'-diff_base'之間的區(qū)別解析

    go?tool?pprof?參數(shù)?'-base'?和?'-diff_base&

    這篇文章主要介紹了go?tool?pprof?參數(shù)?'-base'?和?'-diff_base'之間的區(qū)別,兩個參數(shù)都是用于計算當前?profile文件減去基準profile文件所獲得的差值,用這個差值生成一個新的profile文件,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 從零封裝Gin框架配置初始化全局變量

    從零封裝Gin框架配置初始化全局變量

    這篇文章主要為大家介紹了從零封裝Gin框架配置初始化全局變量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01

最新評論