处理.gitignore中的Go Vendor文件夹
问题
是否将由go dep命令生成的vendor/文件夹添加到.gitignore 一直是一个争论的话题。目前该文件夹被忽略,导致每次部署时都会调用dep Ensure。
讨论
是否忽略vendor/的决定取决于具体的项目需求和开发需求。
忽略供应商/的原因:
- github/gitignore 的 Go.gitignore 模板不包含供应商/。
- 对依赖项中供应商的内容进行版本控制,面对库更新可能是不可取的。
- 供应工具可能会随着时间的推移而演变(例如,从 dep 到 vgo 再到模块),可能会使跟踪的依赖项失效。
不忽略供应商/的原因:
- 修改版本控制中的依赖项对于跟踪更改和解决冲突很有用。
- gitignore.io/api/go 建议忽略供应商/.
- 如果团队成员本地环境不同,vendor 文件夹可以保证依赖版本的一致性。
推荐方法
如果没有具体说明场景:
- 考虑按照 github/gitignore 的模板忽略供应商/。
如果有特定需求:
- 使用虚拟化或容器来标准化开发环境,最大限度地减少本地依赖管理的需求。
- 采用混合方法,保持供应商/外部版本控制,但提供本地生成脚本。
- 考虑使用私有存储库来管理供应商依赖项,确保开发人员之间的使用一致。
- 探索 Go 模块的使用,它提供精确的依赖项版本控制并可能消除供应商需求。
以上是给供应商还是不给供应商:是否应该在'.gitignore”中忽略'vendor/”文件夹?的详细内容。更多信息请关注PHP中文网其他相关文章!