[英]Semantic versioning: Am I allowed to move git tags to a different commit?
假設我用標簽 v1.0.0 標記了我的庫的提交A
現在,我在 API 文檔中做了一個小修復,比如說,修復一個錯字。 我提交了這個更改,所以新的提交B
現在緊跟在A
之后。
我是否允許將 v1.0.0 標記移動到提交B
,因為我沒有進行任何重大更改,並且我的庫的代碼與提交A
中的代碼完全相同?
或者,我是否需要在后續補丁中包含如此小的更改,例如 v1.0.1?
SemVer 2.0 中的第 3 點非常明確:
版本化的 package 發布后,不得修改該版本的內容。 任何修改都必須作為新版本發布。
請注意,SemVer 不考慮您的源代碼管理工具,只考慮發布的 package 。 如果發布的 package 發生了變化,那么它是一個新版本。 因此,如果您的文檔作為已發布的 package 的一部分發布,則修復它是對 package 的更改。
實際上,一旦您共享了標簽或帶標簽的版本,下載該版本的人可能會做出明確的假設,例如每次下載時其內容的 SHA hash 都會匹配,或者git 存儲庫的鏡像不必覆蓋已獲取的標簽。
一般來說,SemVer 將版本號視為“便宜”——保持一致和可預測比您可能對低數字產生的任何情感依戀更重要,並且像“54.23.13”這樣的版本號非常好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.