Каковы основные преимущества использования подмодулей git по сравнению с менеджерами пакетов, такими как npm? - PullRequest
0 голосов
/ 27 мая 2020

Мое текущее понимание подмодулей git состоит в том, что он позволяет отслеживать несколько репозиториев как зависимости.

Это лучше, чем вставка кода, потому что он может отслеживать изменения восходящего потока и позволяет легко их обновлять.

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

Однако я не понимаю его преимуществ перед диспетчером пакетов, таким как npm. Atlassian утверждает, что «у диспетчеров пакетов есть обратная сторона - они требуют установки и управления версиями во всех местах развертывания исходного кода». Почему это недостаток и как субмодули git могут избежать этой проблемы?

1 Ответ

0 голосов
/ 27 мая 2020

Позвольте мне перефразировать мой ответ на очень похожий вопрос.

git - это инструмент разработки ; вы используете его во время разработки, но не при развертывании. npm - инструмент развертывания; в процессе разработки вы используете его для установки необходимых библиотек; во время развертывания ваши пользователи используют его для установки вашего пакета с зависимостями.

Используйте подмодули, когда вам нужно что-то из удаленного репозитория в вашей среде разработки . Например, если указанный удаленный репозиторий содержит Makefile (ы) или другие файлы, которые вам нужны и которые обычно не устанавливаются с npm.

...