亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

去獲取分叉回購的工作流程

去獲取分叉回購的工作流程

Go
慕容708150 2021-12-20 10:57:49
我正在使用apex并安裝了它go get github.com/apex/apex/cmd/apex。我有$GOPATH/bin/apex哪個效果很好。我想為 apex 做出一些貢獻,所以我分叉了它并運行go get github.com/ajcrites/apex/cmd/apex. 到現在為止還挺好。當我想實際測試我對項目的本地更改時,問題就出現了。我可以看到三個問題:go build在本地運行不起作用,因為main.go文件直接從$GOPATH/src/github.com/apex. 我需要從它導入$GOPATH/src/github.com/ajcrites以進行測試main.go手動更改導入ajcrites自是不穩定的,因為我不能/不應該提交這些更改。此外,即使它確實是用我的文件構建的——我可以說是因為它對它們進行了檢查——發出的二進制文件根本不起作用。更改$GOPATH/src/github.com/ajcrites為/apex并構建這種方式確實有效,但有兩個問題:文件系統目錄與實際的 repo 名稱不匹配,這很奇怪我仍然希望能夠使用實際的二進制文件/apex而不破壞它只是為了測試本地更改是否有推薦的方法來克隆分叉go存儲庫并在本地構建/測試?
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

如果您不想更改代碼中的導入路徑,或者不想在項目中提供源代碼,請不要更改代碼在 GOPATH 中的目錄。如果要更改導入路徑,則需要在所有源中重寫該路徑,否則最終會導入包的多個版本。

進入$GOPATH/src/github.com/apex/apex目錄并將origin遠程更改為您的分叉存儲庫。按照慣例,我還將原始存儲庫添加為upstream遠程存儲庫,因此我也可以方便地從那里獲取和合并更改。

由于自 go1.6 起默認啟用了 vendoring,因此您可以將源代碼放在vendor/您控制的目錄中,并在那里進行修改。使用 git 子模塊還可以讓您將其置于單獨的版本控制之下,但與您的項目相關聯。


查看完整回答
反對 回復 2021-12-20
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

以下是我推薦并用于在 GitHub 上管理 Gorilla 組織的流程:


$ go get github.com/gorilla/csrf

$ cd $GOPATH/src/github.com/gorilla/csrf


# Alternatively, you can git remote remove origin + re-add as SSH

$ git remote add elithrar [email protected]:elithrar/csrf.git


$ git checkout -b new-feature-X

$ <do some work on it>


# Install those changes.

$ go install ./...

而已。無需更改任何現有程序中的導入路徑。如果您要供應依賴項,則只需在供應商副本中更改它即可。


查看完整回答
反對 回復 2021-12-20
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號