Как я могу использовать dev-зависимость локально только на моей машине, и мне не нужно отправлять sh в командное репо? - PullRequest
0 голосов
/ 19 февраля 2020

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

Проблема в том, что каждый раз, когда я меняю ветки, мне приходится переустанавливать плагин и добавлять его обратно в конфигурацию веб-пакета. Иногда Git позволяет мне сойти с рук, но иногда этого не происходит, и говорит мне совершить или оставить sh перед тем, как продолжить действие. Я закончил копить, но это становится болью, потому что мне нужно постоянно копить / снимать sh и часто перезапускать install / add и перезапускать Webpack.

Есть ли способ, которым я могу сделать эта часть Webpack и проект на только на моей машине таким образом, что это легко и просто и ни на кого не влияет?

1 Ответ

0 голосов
/ 19 февраля 2020

Кажется, файл конфигурации веб-пакета был добавлен и передан в хранилище. Обычно такие файлы конфигурации не должны быть зафиксированы как часть репозитория с самого начала, потому что они сильно различаются в разных рабочих пространствах и вызывают конфликты, если участники фиксируют и выбирают свои собственные версии. Но, как прокомментировал @BenPetty, файл конфигурации веб-пакета должен быть зафиксирован. Я совершенно новичок в вебпаке, поэтому, пожалуйста, проигнорируйте мое мнение здесь.

Так как он уже есть, и я понятия не имею о вашем хранилище, я бы посоветовал вам попробовать этот обходной путь. Поскольку вы часто переключаете ветки, вы можете использовать git worktree для генерации рабочего дерева для каждой ветки или даже каждой ревизии. Одно рабочее дерево не зависит от другого, и вы можете зафиксировать, потянуть или pu sh в рабочем дереве.

Допустим, у вас есть 3 ветви dev1, dev2 и dev3. Хранилище теперь на master. Вы можете использовать git worktree add /foo/dev1 dev1 для создания пути /foo/dev1, и dev1 извлекается из него. Запустите git worktree add /foo/dev2 dev2 и git worktree add /foo/dev3 dev3 для остальных двух веток. Таким образом, вам не нужно переключать филиалы или клонировать новый репо для другой ветви. Вы можете просто ввести путь к рабочему дереву и установить плагин.

Когда dev1 закончен, вы можете использовать git worktree remove /foo/dev1 для удаления рабочего дерева /foo/dev1. Если вы сначала удалите путь /foo/dev1, вы можете использовать git worktree prune для удаления информации из хранилища.

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