Должен ли я игнорировать каталог vendor в git для Drupal 8?

14

Наконец-то я пытаюсь освоиться с использованием Drupal 8 и хочу узнать, должен ли я игнорировать каталог vendor в git с .gitignore. Я бы предположил, что нет, но я видел несколько примеров файлов .gitignore, которые делают.

Благодарность!

Кристия
источник

Ответы:

20

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

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

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

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

Если этого не произойдет, передать их в репо абсолютно нормально.

Клайв
источник
2
Ссылка: рабочий процесс Pantheon для Composer с использованием GitHub: pantheon.io/docs/guides/build-tools . vendor игнорируется в репозитории GitHub, но должен быть зафиксирован, когда созданный артефакт передан в Pantheon.
greg_1_anderson
В том же духе, это сообщение в блоге IMO имеет звуковой аргумент против игнорирования поставщика от мерзавца: codeenigma.com/build/blog/...
rooby
@clive Могу ли я установить открытый социальный дистрибутив в pantheon, оставив папку vendor вне корневого каталога? В случае с Пантеоном его назвали «код»
Umair
3

Ядро и модули Drupal обновляются так часто, часто с исправлениями безопасности, поэтому стало привычным использовать composer для управления зависимостями. Composer поместит зависимости в каталог vendor, и вам не нужно фиксировать их в своей кодовой базе. Вы можете запустить «composer install» на сервере, и он загрузит зависимости на этом сервере. Это позволяет вашему хранилищу кода быть легче. Если вы используете этот процесс, вы не захотите фиксировать файлы, так что да, вы хотите gitignore этот каталог.

Если вы хотите начать работу с использованием composer для управления сайтом drupal, вы можете проверить проект drupal scaffold .

oknate
источник
0

Да, ты должен

Если у вас есть композитор, вы можете включить его с композитором.

Если вы не знаете, как использовать composer, это было бы отличным местом для поиска:

Использование composer для управления зависимостями сайта drupal


источник
Как управление версиями работает с композитором? Спасибо.
Кристия
1
Я вставил ссылку, если вам нужно, чтобы я привел пример кода, просто спросите;)