我是新手。我正在开发一个不能在一个git存储库中的go项目。确切的情况是,我必须公开我正在开发的图书馆,同时我还有一个依赖它的私人项目。我认为还有许多其他场景可能会出现这种需求。
似乎现有的依赖关系管理是围绕以下概念设计的:组件或其他第三方依赖关系将在明确定义的步骤中移动,并切换到不同的回购位置。
在我的情况下,我希望将我的公共和私有部分代码集中在一起,我希望有一个允许进行大量重大更改的设置。我可以在我的公共图书馆提交,而不会破坏现有私人项目的构建。然后将我的私有依赖项目移动到具有相应修复的版本。
为我的公共图书馆中的几乎所有变化创建不同的回购地址,以实现这一目标,这似乎有点过分和昂贵。
有什么建议吗?
答案 0 :(得分:1)
由于1.5 Go内置了对vendoring的支持(默认情况下从1.6开始启用)。
您最好的选择是将您的软件包作为私有软件包中vendor/
文件夹下的git子模块进行销售,并手动升级它们。
有很多工具可以简化这一点,我个人使用manul
这很简单。
https://github.com/golang/go/wiki/PackageManagementTools读得很好。