我dep用来处理我的Go依赖项.最佳做法是将vendor目录提交到版本控制吗?或者最好dep ensure在签出存储库后始终执行?
Zty*_*tyx 14
该dep工具的FAQ 回答了这个问题:
我应该提交我的供应商目录吗?
由你决定:
优点
- 这是获得真正可重现的构建的唯一方法,因为它可以防止上游重命名,删除和提交历史覆盖.*在大多数操作之后,您不需要额外的dep确保步骤来同步供应商/与Gopkg.lock,例如go get,cloning,getting latest,mergeing等.
缺点
- 你的回购将会更大,可能会更大,但dep prune可以帮助减少这个问题.*PR diffs将包括在供应商/下修改Gopkg.lock时的文件的更改,但默认情况下在Github上隐藏vendor /中的文件.
想象一下,如果依赖项被作者脱机,您的项目会发生什么。在 Go 有一个中央服务器来保存所有无法删除的包之前,很多人总会看到需要提交 vendor 文件夹