前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Composer vendor 提交至 Git

Composer vendor 提交至 Git

作者头像
Yifans_Z
发布2023-08-23 18:40:17
2750
发布2023-08-23 18:40:17
举报
文章被收录于专栏:与荔枝一起成长

应该将 vendor 提交到 Git 吗

一般建议是 vendor 目录应添加到 .gitignore

最佳实践是让所有开发人员使用 Composer 来安装依赖项。类似地,构建服务器、CI、部署工具等都应该作为项目启动的一部分来运行 Composer。

虽然在某些环境下这样做很诱人,但也会导致一些问题:

  • 大型 VCS 存储库的大小和更新代码时的差异。
  • 在你自己的 VCS 复制你所有依赖的历史。
  • 将通过 git 安装的依赖项添加到 git repo 中将显示为 submodules。这是有问题的,因为它们不是真正的 submodules,您将会遇到问题。

如果你真的觉得你必须这样做,你有几个选择:

  • 限制自己安装带标记的版本(没有 dev 版本),这样就只能安装压缩版,并避免与 git submodules 有关的问题。
  • Use --prefer-dist or set preferred-install to dist in your config.
  • Remove the .git directory of every dependency after the installation, then you can add them to your git repo. You can do that with rm -rf vendor/\*\*/.git in ZSH or find vendor/ -type d -name ".git" -exec rm -rf {} \; in Bash. 但这意味着您必须在运行 composer 更新之前从磁盘中删除这些依赖项。
  • Add a .gitignore rule /vendor/**/.git to ignore all the vendor .git folders. 这种方法不需要在运行编写器更新之前从磁盘删除依赖项。

我的做法

问题解决了,但是不确信做法是否正确。

因为网络环境与部署的原因,在生产环境下是将 vendor 目录提交到 git 中的。使用过程中确实出现了,部分类库成为了 submodules,无法把真实的代码提交进 git。

可尝试执行:

代码语言:javascript
复制
git rm rf --cache vendor
git add .
git commit -m "add vendor"

References

– EOF –

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应该将 vendor 提交到 Git 吗
  • 我的做法
  • References
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档