首页 > 后端开发 > Golang > 提交还是不提交 Go 供应商目录:可重复构建与存储库大小?

提交还是不提交 Go 供应商目录:可重复构建与存储库大小?

Susan Sarandon
发布: 2024-12-14 07:29:11
原创
143 人浏览过

To Commit or Not to Commit the Go Vendor Directory:  Reproducible Builds vs. Repository Size?

Go 依赖管理的 Vendoring 实践

在 Go 开发中,管理依赖至关重要。使用 dep 工具,就会出现将供应商目录提交到版本控制是否是最佳实践的问题。

提交供应商目录

官方 dep FAQ 解决了这个问题问题:

优点:

  • 可重现的构建:无论上游更改如何,例如重命名、删除或历史覆盖,都确保构建一致。
  • 减少依赖管理:无需在克隆、合并和其他存储库操作后运行 dep Ensure。

缺点:

  • 存储库大小较大:供应商目录可能会显着增加存储库的大小。
  • 差异冲突:修改 Gopkg.lock 会导致供应商目录发生更改,这可能会触发拉取请求中的差异冲突。

替代方案:手动运行 dep Ensure

或者,最佳实践建议在存储库签出后手动运行 dep Ensure。这种方法具有以下优点:

  • 较小的存储库大小:供应商目录未提交,减少了存储库的整体占用空间。
  • 更清晰的差异:PR 差异仅包含对依赖项的更改Gopkg.lock 中的定义,避免来自供应商的噪音

结论

是否提交vendor目录的决定取决于具体的项目需求。对于可重复的构建和简化的依赖关系管理,提交供应商目录是有利的。但是,如果存储库大小和干净的差异具有更高的优先级,则在签出后手动运行 dep Ensure 可能是更合适的选择。

以上是提交还是不提交 Go 供应商目录:可重复构建与存储库大小?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板