Как зафиксировать папку поставщика Composer в репозитории Git?

Могу ли я настроить .gitignore таким образом, чтобы позволить зависимостям Composer (каталог vendor) жить внутри моего репозитория?

Композиторы официально рекомендуют вам «не делать» этого. И это дает три причины (https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md):

  1. Большой размер хранилища VCS и различия при обновлении кода.
  2. Дублирование истории всех ваших зависимостей в вашей собственной VCS.
  3. Добавление зависимостей, установленных через git, в репозиторий git покажет их как подмодули. Это проблематично, потому что они не являются реальными подмодулями, и вы столкнетесь с проблемами.

Все эти три причины не имеют значения для меня. Также может случиться так, что разумная причина три будет устранена умным .gitignore,

Если мне необходимо указать мотивацию для этого вопроса, то моя мотивация такова: CocoaPods делает это таким образом, и мне нравится, как работает CocoaPods.

Что именно я должен делать в .gitignore для достижения этой цели?

1

Решение

Просто удалите любую ссылку на / vendor из вашего файла .gitignore. Затем добавьте и зафиксируйте файлы поставщика.

Просто будьте готовы добавить более 100 мегабайт файлов библиотеки вендора в ваш репозиторий.

1

Другие решения

Чтобы зафиксировать каталог вендора, сделайте следующее:

git add vendor
git commit -m "Added vendor directory to source control"
0

По вопросам рекламы [email protected]