你应该在.gitignore中包含Go的vendor/目录吗?
使用Go时,会出现是否添加vendor/文件夹的问题到 .gitignore。默认情况下,vendor/ 包含在 .gitignore 中,导致每次部署期间都会调用 dep Ensure。
在 .gitignore 中包含vendor/的参数:
-
避免引用更改: 依赖项引用保持稳定,确保行为一致。
-
消除消失的项目:即使原始项目已停止,依赖项仍然可用。
-
对不断发展的供应工具的适应性:供应商/文件夹可以随着供应工具的发展进行版本控制和更新(例如,从dep到vgo再到模块)。
从.gitignore中排除vendor/的参数:
-
跟踪对依赖项的修改:应在存储库中跟踪对供应商依赖项所做的更改。
-
促进协作:所有团队成员都可以访问相同版本的依赖项,消除潜在的兼容性问题。
替代解决方案:
-
Docker 或虚拟化:标准化整个团队的开发环境,减少供应商或修改主机环境的需求。
-
混合方法:排除供应商/版本控制,但提供用于在本地生成它的脚本或文档,允许开发人员按需检索依赖项。
-
私有存储库:为供应商的依赖项维护一个私有存储库,以确保一致性并最大限度地减少混乱主项目存储库。
-
Go 模块 (2024): Go 中推荐的依赖项管理标准,提供精确的版本控制并可能消除供应商的需求。
以上是你应该在 `.gitignore` 中包含 Go 的 `vendor/` 目录吗?的详细内容。更多信息请关注PHP中文网其他相关文章!