Есть два варианта:
1. Заливать на сайт/сервер все файлы, которые генерирует composer - репозиторий занимает больше, за то, все файлы, при клонировании, пуше на сервер и т.д. - сразу на своих местах, и не скачиваются повторно. Этот вариант, обычно НЕ используют, по субъективным причинам.
2. В игнор добавляют папку
/vendor
, тогда на сервер соотв. нужно установить
composer, и после того, как у вас было какое-то обновление в композере (добавился модуль, обновился, изменился и т.д.) -- на сервере (как вариант - через git-хук) запускаем
composer install
.
Какой механизм выбрать Вам - исключительно личное предпочтение. Второй вариант - классический, первый - более "надёжный" и позволяет не устанавливать composer на сервер.
Стандартный файл
.gitignore из корешка фреймворка Laravel, с небольшими добавлениями от меня выглядит так:
/node_modules
/public/storage
/vendor
/.idea
Homestead.json
Homestead.yaml
.env
# phpstorm project files
.idea
# netbeans project files
nbproject