温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

需要将vendor目录加入版本控制么

发布时间:2020-12-10 09:48:13 来源:亿速云 阅读:362 作者:小新 栏目:软件技术

小编给大家分享一下需要将vendor目录加入版本控制么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

我应该将 vendor 目录加入版本控制吗?

通常情况下请不要这样做, vendor 文件夹(或者其它你依赖包所安装的位置)应该被加入 .gitignore/svn:ignore/......

最好的方式是让所有开发人员使用 Composer 命令来安装依赖,同样的,构建服务器,部署工具等,需要将运行 Composer 纳入工程引导的一部分。

尽管在某些情况下将其提交到版本库挺让吸引人的,但其容易带来下面几个问题:

● 当你更新代码时,版本控制仓库代码变大,diff 变得臃肿。

● 项目所有的依赖将在你版本控制中产生一份副本。

● 某些场景下 Composer 通过 git 安装的 git 仓库将被视为子模块。这是有问题的且会带来麻烦,因为它们并非真正的子模块。

如果你真的感觉你必需这么做,你有这几个选项:

1、依赖包的版本限制为打过 tag 的发布(非 dev)版本,这样的话你只会通过 zipped 安装,从而避免因为 git submodule 产生问题。

2、使用 --prefer-dist 或设置 preferred-install 为 dist 到你项目的 config.

3、每个依赖安装后移除 .git 目录,然后再把它们添加到你的仓库中。你可以使用 rm -rf vendor/**/.git (在 ZSH 中) 或  find vendor/ -type d -name ".git" -exec rm -rf {} \; (在 Bash 中)。但这意味者下次运行 composer update 时你需要删除这些依赖。/

4、添加一个 .gitignore 规则(/vendor/**/.git)来忽略 vendor 下的 .git 目录。此方法的好处是你无需为了 composer update 而删除这些依赖。

看完了这篇文章,相信你对需要将vendor目录加入版本控制么有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI