как можно избежать установки npm каждый раз, когда я меняю ветку? - PullRequest
2 голосов
/ 01 мая 2019

У меня есть настройка репозитория git в git lab. Прямо сейчас каждый раз, когда я меняю ветку, я должен делать:

npm install && composer install && cp .env.example .env && artisan generate key

Потому что я теряю .env, node_modules и модули композитора. и их переустановка занимает много времени. потому что я не могу запустить его и проверить ветку, если у меня не установлено node_modules и других вещей

Интересно, я что-то делаю неправильно или есть способ заставить это случиться?

Я много раз искал, но не повезло.

Заранее спасибо

1 Ответ

2 голосов
/ 01 мая 2019

Вы уверены, что файлы / каталоги, о которых вы говорите, игнорируются git (они есть в вашем .gitignore файле)? Если это не так, вот ответ на ваш вопрос:

Поскольку они привязаны к среде, в которой вы работаете, git не должен касаться их никакими средствами. Вот почему вы не должны терять их, если оформляете заказ в другом филиале.

Только версии composer.lock, package-lock.json и .env.example должны быть версионными. Затем, когда вы клонируете репо из GitLab, вы делаете npm install, composer install, копируете .env.example и т. Д. ..., чтобы настроить ваши зависимости, но каталоги зависимостей (например, node_modules) не должен приходить из вашего хранилища.

Затем, через некоторое время, давайте представим, что вы хотите обновить зависимости Composer. Вы сделаете composer update. Ваш файл composer.lock будет обновлен и будет добавлен в ваш репозиторий.

Затем, если кто-то на другом компьютере извлечет ваши изменения, он будет извлекать только что обновленный файл composer.lock. Затем он создаст composer install, который установит (или обновит, если он уже установил их) зависимости из composer.lock в свою папку vendor.

Я надеюсь, что это поможет вам, не стесняйтесь спрашивать более подробно в комментариях:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...