node.js - 每次更改分支时如何避免 npm install?

标签 node.js laravel git gitlab

我在 git 实验室中设置了一个 git 存储库。现在每次我改变分支我应该做的:

npm install && composer install && cp .env.example .env && artisan 生成 key

因为我丢失了 .envnode_modules 和 composer 模块。并且重新安装它们需要很长时间。因为如果我没有安装 node_modules 和其他东西,我无法运行它并测试分支

我想知道我是否做错了什么,或者是否有办法让它发生。

我做了很多搜索,但没有成功。

提前致谢

最佳答案

你确定你正在谈论的文件/目录被 git 忽略了(它们在你的 .gitignore 文件中)?如果不是这种情况,这里是您问题的答案:

由于它们绑定(bind)到您正在处理的环境,因此不应以任何方式被 git 触及。这就是为什么如果您在另一家分店 checkout ,您不应该丢失它们。

只有 composer.lockpackage-lock.json.env.example 应该进行版本控制。然后,当您从 GitLab 克隆 repo 时,执行 npm installcomposer install,复制 .env.example 等。 .. 为了设置您的依赖项,但依赖项目录(例如 node_modules)不应来自您的存储库。

然后过一会儿,假设您想更新您的 Composer 依赖项。您将执行 composer 更新。您的 composer.lock 文件将被更新并提交到您的存储库。

然后,如果另一台计算机上有人提取您的更改,他只会提取新更新的 composer.lock 文件。然后,他将进行 composer install,这将安装(或更新,如果他之前已经安装了它们)来自 composer.lock 的依赖项到他的 vendor 文件夹。

希望对您有所帮助,欢迎在评论中询问更多详情:)

关于node.js - 每次更改分支时如何避免 npm install?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55935305/

相关文章:

sql-server - 带有 sqlsrv 的 Laravel 字符集 UTF-8

php - Laravel - 在登录时销毁现有 session

git - AWS 代码提交迁移

node.js - 使用带同步日志记录的 pino multistream

javascript - 如何映射 `.find()`返回的数据?

Laravel 5.2 - 自定义错误 "Whoops, looks like something went wrong"

git - VS代码: View git remote changes before pull request?

混帐包 : bundle tags and heads

node.js - 如何正确处理context.sendActivity?

regex - Restify 中的通配符路由