我遇到了以下問題:
- 我分叉了一個 repo,并在新分支下對其進行了一些修改
- 我為上游倉庫創建 PR,但尚未合并
- 我想調整我的 Go 代碼庫以匯入我的分叉倉庫的特定分支
問題:
- 如果原始回購是
github.com/user/pkg/v3那么分叉回購顯示為github.com/myusername/pkg - 此外,我創建了一個新分支,例如
mybranch我進行修復的地方 - 在我使用原始倉庫的代碼中,我的
go.mod檔案中有一個條目,github.com/user/pkg/v3我想用我的分叉倉庫的特定分支替換它
我應該如何正確解決這個問題?
當我嘗試將go.mod我的分叉回購更改為github.com/myusername/pkg/v3然后呼叫時,我看到的go get github.com/myusername/pkg@mybranch是以下內容
go: github.com/myusername/pkg/v3@vxx-xx-xx: parsing go.mod:
module declares its path as: github.com/user/pkg/v3
but was required as: github.com/myusername/pkg/v3
uj5u.com熱心網友回復:
我找到了所需的解決方案。訣竅是執行以下一系列步驟:
- 分叉原始回購
- 創建新分支
- 添加對代碼的修改
- 將分支推送到分叉回購
- 用比原始倉庫更高的版本標記這個分支,例如,如果原始倉庫有 v3.1.1,那么我應用到我的分叉分支的標簽是 v3.1.2
- 轉到依賴于這個包的代碼
- 更改
go.mod我的包的檔案以使用replace指令和我的新標簽,如下所示
replace github.com/user/pkg/v3 => github.com/myusername/pkg/v3 v3.1.2
因此,為了在新分支中使用分叉存盤庫,我們必須在分叉存盤庫中使用上游存盤庫中標記的更高版本標記此分支。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453010.html
