Git - Поддерживать разные версии плагинов composer / npm - PullRequest
0 голосов
/ 16 ноября 2018

Недавно я обновил некоторые из моих плагинов (самое главное, Laravel и его зависимости).
После этого у меня возникли некоторые проблемы, и я захотел вернуться к своей стабильной ветке.
Я быстро осознал свою ошибку - каталоги vendor и npm игнорируются, поэтому переключение ветки бесполезно.
Это заставило меня задуматься, есть ли хороший способ вернуться к старой версии плагинов npm / composer, как если бы мы переключали ветку без , игнорируя каталоги?
Очевидно, я просто мог переустановить все, но это кажется очень неэкономичным и отнимает много времени. Кроме того, я зависим от банкомата мобильного интернет-соединения, поэтому каждый Бит имеет значение, и я хочу предотвратить любую ненужную загрузку.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

С помощью NPM вы можете установить определенные версии, добавив @ к имени пакета, например, npm install lodash@4.17.4

В Composer есть что-то похожее: composer require vendor/package:version

Это может позволить вам установить толькочто нужно, чтобы вернуться в рабочее состояние.

0 голосов
/ 16 ноября 2018

Это заставило меня задуматься, есть ли хороший способ вернуться к старой версии плагинов npm / composer, как если бы мы переключали ветку без игнорирования каталогов?

Вы можете использовать git worktree вместо работы с одной папкой

git worktree

worktree позволяет иметь несколько экземпляров одного и того же хранилища в разных папках .

git worktree add <second path>

создаст другую папку на вашем компьютере, которая позволит вам одновременно работать в другой ветке, в которой вы сможете установить свой npm, и вам не нужно удалять / переключаться на другую ветку.

enter image description here

git worktree создаст новую рабочую папку, что позволит нам работать над несколькими ветками одновременно. каждая копия будет указывать на исходный репозиторий, в то время как 3-states является новой и свежей копией. Это избавляет нас от необходимости использовать git stash или даже клонировать новый репозиторий, так как эти рабочие ветви разделяют одно и то же хранилище, мы можем оформить любую ветку на любом рабочем дереве, мы можем выполнить выборку или слияние, и все будет выполнено локально на нашем машина.

Это позволит вам проводить любые эксперименты на новом рабочем дереве, не оказывая никакого влияния на сам репозиторий.
На прикрепленном изображении вы можете видеть, что есть 2 отдельные рабочие папки, но обе они используют один репозиторий и делятся контентом.

enter image description here

...