日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

语义化版本规范

發布時間:2023/11/28 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语义化版本规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 概念

語義化版本規范(SemVer Semantic Versioning)是 GitHub 起草的一個具有指導意義的、統一的版本號表示規范。它規定了版本號的表示、增加和比較方式,以及不同版本號代表的含義。

在這套規范下,版本號及其更新方式包含了相鄰版本間的底層代碼和修改內容的信息。語義化版本格式為:主版本號.次版本號.修訂號(X.Y.Z),其中 X、YZ 為非負的整數,且禁止在數字前方補零。

2. 規則

版本號可按以下規則遞增:

  • 主版本號(MAJOR):當做了不兼容的 API 修改。
  • 次版本號(MINOR):當做了向下兼容的功能性新增及修改。這里有個不成文的約定需要你注意,偶數為穩定版本,奇數為開發版本。
  • 修訂號(PATCH):當做了向下兼容的問題修正。

你可能還看過這么一種版本號:v1.2.3-alpha。這其實是把先行版本號(Pre-release)和版本編譯元數據,作為延伸加到了主版本號.次版本號.修訂號的后面,格式為 X.Y.Z[-先行版本號][+版本編譯元數據],如下圖所示:

我們來分別看下先行版本號和版本編譯元數據是什么意思。

先行版本號意味著,該版本不穩定,可能存在兼容性問題,格式為:X.Y.Z-[一連串以句點分隔的標識符] ,比如下面這幾個例子:

1.0.0-alpha
1.0.0-alpha.1
1.0.0-0.3.7
1.0.0-x.7.z.92

編譯版本號,一般是編譯器在編譯過程中自動生成的,我們只定義其格式,并不進行人為控制。下面是一些編譯版本號的示例:

1.0.0-alpha+001
1.0.0+20130313144700
1.0.0-beta+exp.sha.5114f85

注意,先行版本號和編譯版本號只能是字母、數字,且不可以有空格。

3. 規范

  • 標記版本號的軟件發行后,禁止改變該版本軟件的內容,任何修改都必須以新版本發行。
  • 主版本號為零(0.y.z)的軟件處于開發初始階段,一切都可能隨時被改變,這樣的公共 API 不應該被視為穩定版。1.0.0 的版本號被界定為第一個穩定版本,之后的所有版本號更新都基于該版本進行修改。
  • 修訂號 Zx.y.Z | x > 0)必須在只做了向下兼容的修正時才遞增,這里的修正其實就是 Bug 修復。
  • 次版本號 Yx.Y.z | x > 0)必須在有向下兼容的新功能出現時遞增,在任何公共 API 的功能被標記為棄用時也必須遞增,當有改進時也可以遞增。其中可以包括修訂級別的改變。每當次版本號遞增時,修訂號必須歸零。
  • 主版本號 XX.y.z | X > 0)必須在有任何不兼容的修改被加入公共 API 時遞增。其中可以包括次版本號及修訂級別的改變。每當主版本號遞增時,次版本號和修訂號必須歸零。

4. 如何確定版本號

  • 在實際開發的時候,建議你使用 0.1.0 作為第一個開發版本號,并在后續的每次發行時遞增次版本號。
  • 當我們的版本是一個穩定的版本,并且第一次對外發布時,版本號可以定為 1.0.0。
  • 當我們嚴格按照 Angular commit message 規范提交代碼時,版本號可以這么來確定:
  1. fix 類型的 commit 可以將修訂號 +1。
  2. feat 類型的 commit 可以將次版本號 +1。
  3. 帶有 BREAKING CHANGEcommit 可以將主版本號 +1。

語義版本規范完全說明

總結

以上是生活随笔為你收集整理的语义化版本规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。