第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將存儲(chǔ)庫升級(jí)到 v2

將存儲(chǔ)庫升級(jí)到 v2

Go
慕仙森 2023-05-08 16:29:32
此時(shí)我正在為多個(gè)存儲(chǔ)庫使用 Go 1.11 模塊。現(xiàn)在我正在處理一個(gè)已經(jīng)是 1.x 版本的。結(jié)合移動(dòng)到 go 模塊,我做了一些其他重大更改,所以很明顯是時(shí)候增加存儲(chǔ)庫的主要版本了。這意味著轉(zhuǎn)到版本 2。根據(jù)“go command”文檔:為了保持導(dǎo)入兼容性,go 命令要求具有主要版本 v2 或更高版本的模塊使用以該主要版本作為最終元素的模塊路徑。例如,example.com/m 的 v2.0.0 版本必須使用模塊路徑 example.com/m/v2,并且該模塊中的包將使用該路徑作為其導(dǎo)入路徑前綴,如 example.com/m/v2 /子/包。以這種方式在模塊路徑和導(dǎo)入路徑中包含主版本號(hào)稱為“語義導(dǎo)入版本控制”。來源這就像更新我的文件的第一行一樣簡單go.mod,附加/v2到模塊名稱嗎?或者我應(yīng)該v2/在我的存儲(chǔ)庫中創(chuàng)建一個(gè)目錄并將所有文件移動(dòng)到那里嗎?
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

如何移動(dòng)到版本 2 有兩個(gè)選項(xiàng):分支和子目錄。

這兩個(gè)選項(xiàng)使一個(gè)版本可以依賴另一個(gè)版本。例如,當(dāng)您實(shí)施版本 2 時(shí),您可以更新版本 1 以依賴于版本 2(但保持相同的 v1 API)。然后,您只需要為您的庫實(shí)現(xiàn)一種邏輯。根據(jù)項(xiàng)目類型、您要提供的支持以及它需要的修復(fù),這可能適合您也可能不適合您。

分支機(jī)構(gòu)

master:?A?->?B?(v1.0.0)?->?D?(v1.0.1)
?????????????????????????\
v2:???????????????????????->?C?(v2.0.0)

在這種情況下:

  1. 你在分支上開始你的項(xiàng)目master,

  2. 做一些提交(AB),

  3. 標(biāo)簽v1.0.0。

  4. 您決定進(jìn)行重大更改。因此,您創(chuàng)建了一個(gè)新分支 (?git checkout -b v2) 并進(jìn)行了重大更改。您的 go.mod 現(xiàn)在必須更新,以便模塊名稱以/v2(它本質(zhì)上是一個(gè)新模塊?。┙Y(jié)尾。

  5. 您決定修復(fù) 中的錯(cuò)誤v1,因此您返回該分支,進(jìn)行新提交并標(biāo)記新v1版本。

當(dāng)用戶需要您的模塊的特定版本時(shí),go將在兩個(gè)分支中查找哪個(gè)提供了正確的模塊。

子目錄

不想在分支上開發(fā)怎么辦?您可以為每個(gè)主要版本創(chuàng)建一個(gè)子目錄。版本 1 位于頂層,然后新版本移至子目錄:

go.mod (module example.com/foo)

foo.go

v2/

? go.mod (module example.com/foo/v2)

? foo.go

當(dāng)您使用新版本標(biāo)記此 repo 時(shí),v1將使用頂級(jí)版本。v2標(biāo)簽將使用v2子目錄。


查看完整回答
反對(duì) 回復(fù) 2023-05-08
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

來自模塊 wiki 的發(fā)布模塊(v2 或更高版本)部分:

有兩種可供選擇的機(jī)制來發(fā)布 v2 或更高版本的模塊。請(qǐng)注意,使用這兩種技術(shù),當(dāng)模塊作者推送新標(biāo)簽時(shí),新模塊版本可供消費(fèi)者使用。使用創(chuàng)建發(fā)布的示例v3.0.0,兩個(gè)選項(xiàng)是:

  1. 主要分支:更新文件以在指令中的模塊路徑末尾go.mod包含一個(gè)(例如,)。更新模塊中的 import 語句以也使用(eg,?)。用 標(biāo)記發(fā)布。/v3modulemodule github.com/my/module/v3/v3import "github.com/my/module/v3/mypkg"v3.0.0

  • Go 版本 1.9.7+、1.10.3+ 和 1.11+ 能夠正確使用和構(gòu)建使用這種方法創(chuàng)建的 v2+ 模塊,而無需更新尚未選擇加入模塊的消費(fèi)者代碼(如“語義導(dǎo)入版本控制”?部分)。

  • 注意:不需要?jiǎng)?chuàng)建新分支。例如,如果您之前已經(jīng)在 master 上發(fā)布,并且更愿意在 master 上標(biāo)記 v3.0.0,這也是一個(gè)可行的選擇。[...]

[...]

  1. 主要子目錄:創(chuàng)建一個(gè)新的v3子目錄(例如,my/module/v3)并go.mod在該子目錄中放置一個(gè)新文件。模塊路徑必須以/v3.?將代碼復(fù)制或移動(dòng)到?v3子目錄中。更新模塊中的 import 語句以也使用/v3(eg,?import "github.com/my/module/v3/mypkg")。用 標(biāo)記發(fā)布v3.0.0

但是,該部分中還有其他值得回顧的詳細(xì)信息。

查看完整回答
反對(duì) 回復(fù) 2023-05-08
  • 2 回答
  • 0 關(guān)注
  • 176 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)