2016-07-05 52 views
2

我是新來的。我正在開發一個不能在單個git存儲庫中的項目。確切的情況是,我必須公開一個我正在開發的圖書館,同時我也有一個依賴它的私人項目。我認爲還有很多其他的情況可能會出現這種需求。去組件開發依賴管理

似乎現有的依賴關係管理是圍繞這樣的概念設計的,即組件或其他第三方依賴關係將切換到不同的repo位置,在明確定義的步驟中移動。

在我的情況下,我想將我的公開代碼和我的私有代碼一起發展到一起,我希望有一個允許進行大量重大更改的設置。在哪裏我可以在我的公共圖書館提交而不會破壞現有私人項目的構建。後來將我的私人依賴項目移至具有相應修補程序的此類版本。

創建不同的回購地址幾乎在我的公共圖書館的每一個變化,以達到這似乎是矯枉過正和昂貴的做。

有什麼建議嗎?

+0

更新2018年2月:沒有官方項目vgo:請參閱https://stackoverflow.com/a/48914523/6309 – VonC

回答

1

由於1.5 Go支持vendoring(默認情況下自1.6開始啓用)。

最好的辦法是將你的軟件包作爲私有軟件包中的vendor/文件夾下的git submodules出售,然後手動升級它們。

有很多簡化的工具,我個人使用manul這是很簡單的。

https://github.com/golang/go/wiki/PackageManagementTools是一個很好的閱讀。

+1

更多工具調查:https://blog.filippo.io/analyzing-go -vendoring-with-bigquery/gvt的作者測量用法,以及https://forum.golangbridge.org/t/the-best-dependency-manager/1281的討論。 – twotwotwo

+0

你們的暱稱是「匹配」的。 https://imgur.com/MQ4uQcg – jsxqf

+0

但我是來自未來的BORG無人機:( – OneOfOne