簡體   English   中英

語義版本控制:我可以將 git 標簽移動到不同的提交嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM