首页  >  文章  >  后端开发  >  是否要 gitignore:Go 的供应商/文件夹是否应该从版本控制中排除?

是否要 gitignore:Go 的供应商/文件夹是否应该从版本控制中排除?

Patricia Arquette
Patricia Arquette原创
2024-10-31 03:19:31209浏览

To gitignore or not to gitignore: Should Go's vendor/ folder be excluded from version control?

关于 gitignoring Go 的供应商/文件夹的争论

是否将 Go 的供应商/文件夹添加到 .gitignore 文件中的困境是一个反复出现的问题开发社区中的问题。有些人主张排除它,而另一些人主张将其包含在内。

包含案例

  • Github 自己的 gitignore 模板不排除vendor/,因为它的内容应进行版本控制,以避免潜在的引用更改、项目消失或可能破坏兼容性的工具演变。
  • 如果在 Git 存储库中跟踪对供应商依赖项的修改,则必须将其置于版本控制之下。

排除案例

  • gitignore.io,一个广泛使用的gitignore模板,确实排除了vendor/,因为它是由工具生成的。
  • 排除供应商/可减少存储库大小和混乱,特别是在并非所有团队成员都需要供应商的情况下。
  • 供应外部依赖项可能会增加引入漏洞或兼容性问题的风险。

替代方法

除了 gitignoring vendor/ 的二元选择之外,替代策略可以解决以下问题:

  • 虚拟环境: Docker 和虚拟化可以标准化开发环境,最大限度地减少对供应商的需求。
  • 混合方法:使供应商/不受版本控制,但提供用于在本地生成它的脚本或文档。
  • 私有存储库:维护供应商依赖的私有存储库,可以被主项目引用。
  • Go Modules:当前的 Go 依赖管理标准,Go Modules,允许精确的版本控制,可能消除供应商的需要。

最终,决定取决于项目特定的要求和团队协作动态。通过了解每种方法的优点和缺点,开发人员可以就 gitignore 供应商/并确保稳定一致的开发环境做出明智的决策。

以上是是否要 gitignore:Go 的供应商/文件夹是否应该从版本控制中排除?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn